我正在尝试使用ajax进行简单登录。我遇到的问题是我的请求没有得到任何回复。当我尝试使用
时myurl.com/login.php is_ajax = 1& username = test& password = test
我收到了成功的消息。
$(document).ready(function(){
$("#submit").click(function(){
var form_data = {
usernm: $("#username").val(),
passwd: $("#password").val(),
is_ajax: 1
};
$.ajax({
type:"POST",
url: "myurl.php" ,
data: form_data,
succes: function (response)
{
if (response == 'succes'){
window.location="myurl.html";
}
else{
alert("wrong username password combination")
}
}
});
return false;
});
});
我的php:
$is_ajax = $_REQUEST['is_ajax'];
if(isset($is_ajax) && $is_ajax)
{
$uName = $_REQUEST ['username'];
$pWord = $_REQUEST ['password'];
if($uName == 'test' && $pWord == 'test'){
echo 'succes';
}
else{
echo 'false';
}
}
答案 0 :(得分:1)
你应该使用
$uName = $_REQUEST ['usernm'];
$pWord = $_REQUEST ['passwd'];
INSTEAD
$uName = $_REQUEST ['username'];
$pWord = $_REQUEST ['password'];
在您的php文件中,将succes
更改为success
答案 1 :(得分:0)
将succes
替换为success
$.ajax({
type:"POST",
url: "myurl.php" ,
data: form_data,
success: function (response){
if (response == 'success'){
window.location="myurl.html";
}else{
alert("wrong username password combination");
}
}
});
也会更改数据属性名称
var form_data = {
username: $("#username").val(),
password: $("#password").val(),
is_ajax: 1
};
答案 2 :(得分:0)
如果你使用$ .ajax,那么你的数据类型是错误的。它必须是application / x-www-form-urlencoded。
所以请将你的JS部分更改为:
$(document).ready(function(){
$("#submit").click(function(){
var form_data = {
usernm: $("#username").val(),
passwd: $("#password").val(),
is_ajax: 1
};
$.ajax({
type:"application/x-www-form-urlencoded",
url: "myurl.php" ,
data: form_data,
success: function (response)
{
if (response == 'success'){
window.location="myurl.html";
}
else{
alert("wrong username password combination")
}
}
});
return false;
});
});
或者,如果您不确定正确的MIME类型,那么只需使用此jQuery命令:
$(document).ready(function(){
$("#submit").click(function(){
var form_data = {
usernm: $("#username").val(),
passwd: $("#password").val(),
is_ajax: 1
};
$.post("myurl.php",
form_data,
function (response)
{
if (response == 'success'){
window.location="myurl.html";
}
else{
alert("wrong username password combination")
}
});
return false;
});
});
请更改PHP代码的以下行
$uName = $_REQUEST ['username'];
$pWord = $_REQUEST ['password'];
对此:
$uName = $_REQUEST ['usernm'];
$pWord = $_REQUEST ['passwd'];
因为这些是正确的密钥,您发送到您的php服务器文件。此外,不需要定义“is_ajax”键,因为每个XMLHttpRequest都将“X_REQUESTED_WITH”标头设置为“XMLHttpRequest”。所以,你可以在你的php服务器部分e中请求它。 G。用:
if (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest')
{
// it was an ajax XHR request!
}