[英]How To Return Data from PHP to Use in jQuery(ajax)?
我必须处理一个简单的登录文件。 在《许多Web教程》中,我读到了jquery中任何Ajax请求的回调函数都是function(data)
,而data
是由服务器端脚本返回的。
好吧,我的服务器端脚本是PHP。 我想知道如何从PHP返回数据,这些数据将存储在jquery的data
并且可以使用条件循环来处理它们。
这是我的jQuery代码:
$('#loginform').submit( function() {
var querystring = $(this).serialize();
$.post('login.php', querystring, processLI );
function processLI(data) {
if (data == 'success'){
alert("Successful");
var url = "game.php";
$(location).attr('href',url);
}
else
alert ('Login Failed');
}
我在我的php文件中使用了简单的return语句,这似乎根本不起作用。 这是login.php
文件。 我刚刚在这里发布了必要的部分。
$statement = $connection->prepare("SELECT * FROM users WHERE username = '$username'");
$statement->execute(array());
$result = $statement->fetch(PDO::FETCH_ASSOC);
if ($result['password'] == $safepass) {
setcookie("Login", true);
echo 'success';
}
else
echo "Failure";
尝试通过将函数作为参数而不是通过调用函数来做到这一点。
$('#loginform').submit( function() {
var querystring = $(this).serialize();
$.post('login.php', querystring, function(data){
if (data == 'success') {
alert("Successful");
var url = "game.php";
$(location).attr('href',url);
}
else
alert ('Login Failed');
});
如果登录成功,则使用echo
语句输出数据echo 'success';
这是有关如何调试AJAX请求的答案。 首先,使用Chrome(或Safari,或安装了Firebug插件的Firefox),然后从设置菜单中打开开发人员工具。 在网络面板中,您可以看到请求/响应。 这可能不是直接的答案,但是请-尝试将Chrome开发者工具与“网络面板”一起使用,以查看请求/响应/ Cookie /标题。
这样可以省去猜测的麻烦,可以逐字显示响应。 然后您可以在下次;)和之后的时间解决
您能够看到请求/响应吗? 如果没有,我建议一个简单的
alert(JSON.stringify(data))
...如果您在使用Chrome调试器时遇到问题,请从回调函数中获取。
尝试将dataType作为“ html”提供给发布
$('#loginform').submit( function() {
var querystring = $(this).serialize();
$.ajax({
url : 'login.php?'+querystring,
cache : false,
success : function(data) {
if(data == "success") {
alert("Successful");
var url = "game.php";
$(location).attr('href',url);
} else if(data == "failure") {
alert("Login Failed");
}
};
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.