i'm trying to send some data from jquery ( $.ajax ) to php file but it doesn't work. in the success function it always shows the right answer but when i verify the POST in php file with var_dump it shows an empty string. i tried to replace $.ajax with $.post and $.get but none of them works. here is my jquery code :
$('#sbt').on('click', function() {
var email = $('#lgEmail').val();
var pass = $('#lgPassword').val();
$.ajax('../loginRegister.php', {
type: 'GET', // http method
data: {
mail: email,
}, // data to submit
error:console.error,
success: function(data, textStatus, xhr) {
alert("done")
},
error: function(jqXhr, textStatus, errorMessage) {
alert(errorMessage)
}
});
})
and here is my php code :
if (isset($_POST['mail'])){
echo $_POST['mail'];
}
CodePudding user response:
Since you're using type: 'GET' you need to retrieve the parameter using $_GET['mail'].
You could also use $_REQUEST['mail']. $_REQUEST combines the parameters from $_GET, $_POST, and $_COOKIE.
CodePudding user response:
You are using type: 'GET' when you actually would need to use POST. Either remove the type argument and use $.post() or use $.ajax() and set it to the correct method, in this case type: 'POST'.
CodePudding user response:
Try this code:
$('#sbt').on('click', function () {
var email = $('#lgEmail').val();
var pass = $('#lgPassword').val();
$.ajax({
type: "GET",
url: "../loginRegister.php",
data: { mail: email },
datatype: "json",
traditional: true,
success: function (data, textStatus, xhr) {
alert("done")
},
error: function (jqXhr, textStatus, errorMessage) {
alert(errorMessage)
}
});
})
