小编ndp*_*ndp的帖子

让jQuery.ajax将响应解释为错误

我很难理解如何让jQuery.ajax将失败的MySQL UPDATE查询解释为错误.这是我的代码:

jQuery的:

$.ajax({
    type:'POST',
    url:'/ajax/registration.php',
    data:{formData: formData},
    success:function(data){eformDef.forms.registration.success(data);},
    error:function(data){eformDef.forms.registration.success(data);}
});
Run Code Online (Sandbox Code Playgroud)

PHP

$data = $_POST['formData'];
$firstName = mysql_real_escape_string($data['first name']);
$lastName = mysql_real_escape_string($data['last name']);
$email = mysql_real_escape_string($data['email address']);
$password = mysql_real_escape_string($data['password']);


mysql_query("INSERT INTO users (first_name, last_name, email, password) VALUES ('$firstName', '$lastName', '$email', '$password')") or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)

无论如何 - 即使我使mysql_query语法无效 - ajax调用总是将响应解释为成功.我假设这是因为mysql_error()作为响应被发送回来,ajax调用将其作为字符串读取,并且显然认为这是成功的.当然我可以通过检查$ .ajax成功函数中的响应字符串来解决这个问题,但这看起来有点不合逻辑.如果我可以使用$ .ajax dataType选项测试数据类型,这不是问题.但是使用像上面那样的UPDATE查询,我总是得到一个字符串作为响应.

由于有一种解决方法(检查成功函数中的字符串),这不是一个关键问题.但如果有更正确的方法,我会更喜欢这样做.

php ajax jquery response

2
推荐指数
1
解决办法
2017
查看次数

标签 统计

ajax ×1

jquery ×1

php ×1

response ×1