2012-06-07 20 views
9

Estoy tratando de utilizar el método POST en jQuery para hacer una solicitud de datos Así que este es el código en la página HTML:

<form> 
Title : <input type="text" size="40" name="title"/> 
<input type="button" onclick="headingSearch(this.form)" value="Submit"/><br /><br /> 
</form> 
<script type="text/javascript"> 
function headingSearch(f) 
{ 
    var title=f.title.value; 
    $.ajax({ 
     type: "POST", 
     url: "edit.php", 
     data: {title:title} , 
     success: function(data) { 
     $('.center').html(data); 
     } 
    }); 
} 
</script> 

y este es el código php en el servidor:.

<?php 

$title = $_POST['title']; 
if($title != "") 
{ 
    echo $title; 
} 

?> 

la solicitud POST no se hace nada y no tengo ni idea de por qué los archivos están en la misma carpeta en la carpeta wamp www así que al menos el ISN url 'incorrecto.

+1

'$ título de retorno de los $ .ajax;' no imprimirá nada en PHP, necesitará 'echo $ title;'. – MrCode

+0

¿Cuáles son los errores de la llamada ajax de la interfaz? –

+1

Use Firebug o similar para ver si se realiza alguna solicitud – MrCode

Respuesta

8

Usted necesita usar data: {title: title} para PUBLICARLO correctamente.

En el código PHP necesita echo el valor en lugar de return ing it.

+0

Bueno hice estas correcciones, pero nada ha cambiado – user1201915

+0

@ user1201915 lograste arreglar el problema? – Zame

2

Compruebe si el título tiene algún valor o no. De lo contrario, recupera el valor usando Id.

<form> 
Title : <input type="text" id="title" size="40" name="title" value = ''/> 
<input type="button" onclick="headingSearch(this.form)" value="Submit"/><br /><br /> 
</form> 
<script type="text/javascript"> 
function headingSearch(f) 
{ 
    var title=jQuery('#title').val(); 
    $.ajax({ 
     type: "POST", 
     url: "edit.php", 
     data: {title:title} , 
     success: function(data) { 
    $('.center').html(data); 
} 
}); 
} 
</script> 

Pruebe este código.

En el código php, use echo en lugar de return. Solo entonces, los datos de javascript tendrán su valor.

+0

El título tiene valor, intenté alertar (título); – user1201915

+0

Gracias por el código que publiqué en el lugar del anterior, pero desafortunadamente no me ayudó. – user1201915

+0

por favor revise la respuesta actualizada .. ¿Te ayuda? –

0

consejos Id a usar un método poco más simple -

$.post('edit.php', {title: $('input[name="title"]').val() }, function(resp){ 
    alert(resp); 
}); 

intente éste, que sólo se siente su sintaxis es más simple de un ...

+0

Lo intenté incluso antes de escribir en el desbordamiento de la pila. Intenté tu código, pero todavía no cambio, gracias. – user1201915

+0

entonces, ¿qué hace, no avisa nada? O no alerta en absoluto? – manWe

+0

No alerta en absoluto, simplemente nada. – user1201915