jQuery的AJAX响应来自PHP的困难
Difficulty with jQuery's AJAX response from PHP
我对AJAX相当陌生。我正在尝试让一个简单的登录脚本工作。这是使用 jQuery 1.6.4。在下面的 AJAX 中,当用户单击按钮时,它会发送电子邮件地址和密码以登录.php。这一切似乎都很好。问题在于成功函数。当电子邮件和密码正确时,它应该返回 true。当它不起作用时,它应该返回 false。使用Firebug,我看到它适用于控制台.log。如果我写警报(响应);,它也可以正常工作。但是,即使响应等于 true,条件的计算结果也始终为 false。我已经尝试了if(response=="true")
和if(response==="true")
,将变量放在函数之外,以及其他一些事情都没有成功。有人对如何解决这个问题有任何想法吗?
感谢您的任何帮助或想法,杰森。
阿贾克斯:
$("#firstpage").live('pageinit', function (evt) {
$('#button').click(function(){
var $form = $('#login'),
$inputs = $form.find("input"),
serializedData = $form.serialize();
$.ajax({
type: 'POST',
url: 'php/login.php',
data: serializedData,
success: function(response){
console.log("Response: "+response);
if(response=="true")
{
$('#firstpage #wrong').text("Login script is working");
} else {
$('#firstpage #wrong').text("Your email and password combination did not match.");
}
},
dataType: 'json'
});
});
});
如果有帮助,这是我的登录.php脚本。
$email = $_POST['email'];
$password = $_POST['password'];
require_once("DB.php");
$connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");
mysql_select_db($db) or die ("Unable to select database!");
$query = "SELECT * FROM member WHERE email='$email' AND password='".md5($_POST['password'])."'";
$result = mysql_query($query) or die ("Error in query: $query. ".mysql_error());
$num_rows = mysql_num_rows($result);
if($num_rows>0){
$output = true;
} else {
$output = false;
}
echo json_encode($output);
响应是一个对象,因为您有"数据类型:'json'"。 jQuery将尝试将响应文本转换为JSON。如果需要检查服务器返回的数据,请尝试使用
if (response === true) {
}
或者干脆
if (response) {
}
或者只是让 jQuery 通过删除数据类型来返回字符串:"json"
不要使用带有完全等号的引号 ===
。用
if (response === true)
因为你的PHP脚本返回true
,而不是"true"
。
我对PHP并不狂热,但请尝试删除true周围的引号。
相关文章:
- PHP AJAX图片上传示例不上传
- PHP/Ajax/jquery/JON-在Ajax Post之后将echo文本中的一部分作为变量返回
- 不确定我在PHP AJAX中使用的是什么开发模式
- Php ajax return json or html
- PHP Ajax 表单提交 .什么也没发生
- 如何在发送时不打开新页面的情况下使用php/ajax发送表单
- 通过post-php-ajax发送
- 如何使用php-ajax将值从mysqldb获取到dropdownbox
- 使用JavaScript的PHP-Ajax调用将值存储在DB中
- php ajax within ajax
- PHP-AJAX复选框过滤器使用数据标记属性
- 如何在jquery中对php/ajax传递的数组进行切片
- 使用 javascript/jquery/any 动态创建 html 页面客户端.如果不可能,如何使用 php/ajax
- 为什么我的保存时间功能不起作用?PHP + AJAX JS.
- 如何在不使用 PHP/AJAX 重新加载网页的情况下自动更新内容
- JQUERY + PHP + AJAX 不起作用
- JavaScript 重置 PHP/AJAX 中的填充字段
- 数据库更新的用户确认 - php + Ajax
- PHP Ajax 自动完成多个字段
- Autosuggestion Javascript/PHP/AJAX Code