para procurar de Ajax usando jQuery se puede hacer esto mediante el siguiente código
HTML:
<form id="foo">
<label for="bar">A bar</label>
<input id="bar" name="bar" type="text" value="" />
<input type="submit" value="Send" />
</form>
<!-- The result of the search will be rendered inside this div -->
<div id="result"></div>
JavaScript:
Método 1
/* Get from elements values */
var values = $(this).serialize();
$.ajax({
url: "test.php",
type: "post",
data: values ,
success: function (response) {
// you will get response from your php page (what you echo or print)
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});
Método 2
/* Attach a submit handler to the form */
$("#foo").submit(function(event) {
var ajaxRequest;
/* Stop form from submitting normally */
event.preventDefault();
/* Clear result div*/
$("#result").html('');
/* Get from elements values */
var values = $(this).serialize();
/* Send the data using post and put the results in a div */
/* I am not aborting previous request because It's an asynchronous request, meaning
Once it's sent it's out there. but in case you want to abort it you can do it by
abort(). jQuery Ajax methods return an XMLHttpRequest object, so you can just use abort(). */
ajaxRequest= $.ajax({
url: "test.php",
type: "post",
data: values
});
/* request cab be abort by ajaxRequest.abort() */
ajaxRequest.done(function (response, textStatus, jqXHR){
// show successfully for submit message
$("#result").html('Submitted successfully');
});
/* On failure of request this function will be called */
ajaxRequest.fail(function(){
// show error
$("#result").html('There is error while submit');
});
Los .success()
, .error()
, y .complete()
devoluciones de llamada están en desuso como de jQuery 1.8. Para preparar su código para su eventual eliminación, use .done()
, .fail()
y .always()
.
MDN: abort()
. Si la solicitud ya se ha enviado, este método cancelará la solicitud.
por lo que hemos enviado con éxito la solicitud ajax ahora es el momento de obtener datos para el servidor.
PHP
A medida que hacemos una solicitud POST en llamada AJAX (type: "post"
) ahora podemos tomar los datos utilizando $_REQUEST
o $_POST
$bar = $_POST['bar']
también se puede ver lo que se obtiene en la solicitud POST simplemente, o bien, por cierto, asegúrese de que $ _POST esté configurado de otra manera obtendrá un error.
var_dump($_POST);
// or
print_r($_POST);
Y va a insertar valor a la base de datos asegúrese de que está sensibilizando o escapar En todos los pedidos (si el tiempo se hizo GET o POST) correctamente antes de hacer la consulta, mejor sería utilizar declaraciones preparadas.
y si desea devolver los datos a la página, puede hacerlo haciendo eco de los datos como a continuación.
// 1. Without JSON
echo "hello this is one"
// 2. By JSON. Then here is where I want to send a value back to the success of the Ajax below
echo json_encode(array('returned_val' => 'yoho'));
y que lo puede conseguir como
ajaxRequest.done(function (response){
alert(response);
});
hay un par de Shorthand Methods puede utilizar a continuación el código que haga el mismo trabajo.
var ajaxRequest= $.post("test.php",values, function(data) {
alert(data);
})
.fail(function() {
alert("error");
})
.always(function() {
alert("finished");
});
Consulte [meta discusión relacionada] (http://meta.stackexchange.com/q/161943/147191) para el razonamiento detrás de la restauración. – TRiG
mejor respuesta aquí: http://stackoverflow.com/questions/19029703/jquery-using-ajax-to-send-data-and-save-in-php/19029778#19029778 controlado y regulado probado trabajando – rohitcopyright