此ajax代码发布变量并显示$('#data').html(data);
中eco-ed
的{{1}} .-哪个有效
php
然而,问题在于下一行不起作用:
$.post('login.php',{username:username,password:password},
function(data)
{
$('#data').html(data);
if (data=='login'){
alert("sucess");
}
});
如果 if (data == 'login') {
alert("sucess");
}
,此代码应显示一个对话框
我已经浏览了不同的教程,这段代码应该可以工作,但它不是出于某种原因。
谢谢!
答案 0 :(得分:2)
您可以简单地输入JSON数据类型并使用json数组作为响应..
$.post('login.php',{username:username,password:password},
function(data)
{
if (data.status=='login'){
$('#data').html(data.status);
alert("sucess");
} else{
alert('not login');
}
}, 'json');
在你的PHP中
<?php
#.. put any code before that response because after it you must put exit.
# No other data except it must be sent! Else you will break it..
echo json_encode(array('status'=>'login'));
exit();
答案 1 :(得分:0)
data保存login.php。
响应的返回结果在你的情况下,它可能会返回html,例如<h1> welcome user x</h1>
(我不知道你的代码返回了什么,所以它是一个例子)。
如果是这种情况,您应该检查代码是否有效。我建议使用JSON。您的login.php会检查登录数据。如果登录尝试有效,则返回login:true;并重定向用户。 当有效时,只返回数据错误并用jquery显示它们。
答案 2 :(得分:0)
使用此代码,如果您的回复失败,您将获得适当的警报。
var jqxhr = $.post("login.php", {username : username, password : password}, function(data) {
alert("success" + data);
console.log(data);
},'text')
.done(function() { alert("second success"); })
.fail(function() { alert("error"); })
.always(function() { alert("finished"); });
否则你会收到“成功”和你的数据的提醒。
有关如何使用此功能的更多信息,请参阅http://api.jquery.com/jQuery.post/
确定它有效。放入login.php
<?php
echo 'ajax works';
exit;
?>
您使用将被删除的旧功能。使用PDO或其他引擎。 您的代码不安全。 SQL注入是可能的。