Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX请求没有';t在400错误查询上执行失败_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript AJAX请求没有';t在400错误查询上执行失败

Javascript AJAX请求没有';t在400错误查询上执行失败,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在发送这个请求,只要成功就可以了。但是,如果我试图创建一个使用现有用户名或电子邮件的用户,我应该会收到400个错误请求和详细说明问题所在的响应 问题是,当我发送这个请求并得到400时,没有任何东西被写入控制台/控制台(甚至是'fail!'字符串),但我可以在控制台/网络选项卡中看到响应是正确的,所以问题可能不在后端 $("#registerForm").submit(function(e){ e.preventDefault() $.ajax({ type: "POST",

我正在发送这个请求,只要成功就可以了。但是,如果我试图创建一个使用现有用户名或电子邮件的用户,我应该会收到
400个错误请求
和详细说明问题所在的响应

问题是,当我发送这个请求并得到400时,没有任何东西被写入控制台/控制台(甚至是
'fail!'
字符串),但我可以在控制台/网络选项卡中看到响应是正确的,所以问题可能不在后端

$("#registerForm").submit(function(e){
  e.preventDefault()
  $.ajax({
    type: "POST",
    url: "./register",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: JSON.stringify({
      "username": formcontent['username'],
      "email": formcontent['email'],
      "password": formcontent['password'],
    }),
    success: function(e) {
      window.location.href = './login'
      return false
    },
    fail: function(e) {
      console.log('fail!')
      console.log(e)
      //react to error
      return false
    },
  })
})

我认为“fail”是一个无效函数,请尝试下面的结构

$.ajax({
type : "POST",
url : "/register",
contentType : "application/json; charset=utf-8",
dataType : "json",
data : JSON.stringify({
    "username" : formcontent['username'],
    "email" : formcontent['email'],
    "password" : formcontent['password'],
}),
success : function(response) {
    console.log(response);
},
error : function(response, status, err) {
    console.log(response);
    console.log(status);
    console.log(err);
}
});

尝试
错误:
而不是
失败:
。。或者更好的是
$.ajax({}).done(function(){}).fail(function(){})是的,成功了。我应该在问之前多研究一下。