Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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激发了成功和错误_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript AJAX激发了成功和错误

Javascript AJAX激发了成功和错误,javascript,jquery,ajax,Javascript,Jquery,Ajax,我不确定为什么会出现错误:我的ajax请求的一部分也在触发。成功和错误部分实际上都在启动。我对JS/jQuery非常陌生,但我读到当ajax请求成功时会触发success,当出现错误时会触发error。我想成功意味着200,错误意味着400-500 js: 您正在调用函数并将其返回值传递给success和error。您需要传递实际函数 success: ajaxSuccess.bind(window, contactInfo), error: console.log.bind(console,

我不确定为什么会出现错误:我的ajax请求的一部分也在触发。成功和错误部分实际上都在启动。我对JS/jQuery非常陌生,但我读到当ajax请求成功时会触发success,当出现错误时会触发error。我想成功意味着200,错误意味着400-500

js:

您正在调用函数并将其返回值传递给success和error。您需要传递实际函数

success: ajaxSuccess.bind(window, contactInfo),
error: console.log.bind(console, "ajax fail")
因为在这两种情况下,都是对函数的参数进行硬编码,所以可以使用bind来创建新函数

success: ajaxSuccess.bind(window, contactInfo),
error: console.log.bind(console, "ajax fail")
您正在调用函数并将其返回值传递给success和error。您需要传递实际函数

success: ajaxSuccess.bind(window, contactInfo),
error: console.log.bind(console, "ajax fail")
因为在这两种情况下,都是对函数的参数进行硬编码,所以可以使用bind来创建新函数

success: ajaxSuccess.bind(window, contactInfo),
error: console.log.bind(console, "ajax fail")

您的问题在以下几行:

success: ajaxSuccess(contactInfo),
error: console.log("ajax fail")
这将有效地立即运行这两个函数,并将这些函数的返回值设置为success和error属性。尝试使用匿名回调函数

success: function() {
    ajaxSuccess(contactInfo);
},
error: function() {
    console.log("ajax fail");
}

您的问题在以下几行:

success: ajaxSuccess(contactInfo),
error: console.log("ajax fail")
这将有效地立即运行这两个函数,并将这些函数的返回值设置为success和error属性。尝试使用匿名回调函数

success: function() {
    ajaxSuccess(contactInfo);
},
error: function() {
    console.log("ajax fail");
}

谢谢你的帮助。但是,现在我的代码总是运行成功部分。但是我目前没有让我的后端返回任何状态代码,所以这可能是问题所在。什么返回代码会导致错误部分触发?我假设400s-500s?@Liondacer url:将导致它再次请求当前页面,该页面可能存在并以成功状态代码响应。这是正确的答案。成功和错误应该是函数。Error回调函数返回三个参数:jqXHR、textStatus、errorshown,可用于将错误告知用户。感谢您的帮助。但是,现在我的代码总是运行成功部分。但是我目前没有让我的后端返回任何状态代码,所以这可能是问题所在。什么返回代码会导致错误部分触发?我假设400s-500s?@Liondacer url:将导致它再次请求当前页面,该页面可能存在并以成功状态代码响应。这是正确的答案。成功和错误应该是函数。Error回调函数返回三个参数:jqXHR、textStatus、errorThrown,可用于将错误告知用户。