Javascript AJAX激发了成功和错误
我不确定为什么会出现错误:我的ajax请求的一部分也在触发。成功和错误部分实际上都在启动。我对JS/jQuery非常陌生,但我读到当ajax请求成功时会触发success,当出现错误时会触发error。我想成功意味着200,错误意味着400-500 js: 您正在调用函数并将其返回值传递给success和error。您需要传递实际函数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,
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,可用于将错误告知用户。