我不确定为什么我的ajax请求的error:
部分也在触发。成功和错误部分实际上都是射击。我对JS/jQuery相当陌生,但是当ajax请求成功并且出错时触发错误时,我读取了成功。我假设成功意味着200,错误意味着400-500?AJAX触发成功和错误
JS:
function create_post() {
console.log("create post is working");
var firstName = document.getElementById("firstname");
var lastName = document.getElementById("lastname");
var email = document.getElementById("email");
var phoneNumber = document.getElementById("phonenumber");
var message = document.getElementById("message");
var contactInfo = {
"first_name": firstName.value,
"last_name": lastName.value,
"email": email.value,
"phone_number": phoneNumber.value,
"message": message.value
};
$.ajax({
url: "",
type: "POST",
data: contactInfo,
success: ajaxSuccess(contactInfo),
error: console.log("ajax fail")
});
};
function ajaxSuccess(contactInfo) {
console.log(contactInfo);
// clear form data
document.getElementById("contact-form").reset();
// display modal
}
// Contact form submit
var contactForm = document.getElementById("contact-form");
$(contactForm).on('submit', function(event) {
event.preventDefault();
console.log("form submitted");
create_post();
});
感谢您的帮助。但是,现在我的代码始终运行成功部分。但是,我目前没有后端返回任何状态代码,因此可能是问题所在。什么返回码会导致错误部分触发?我假设400s-500s? – Liondancer 2015-02-09 16:08:22
@Liondancer'url:“”'将导致它再次请求当前页面,这可能存在并且以成功状态码进行响应。 – 2015-02-09 16:10:08
这是正确的答案。成功和错误应该是功能。错误回调函数返回三个参数:'jqXHR','textStatus','errorThrown',可用于将错误传递给用户。 – Avraham 2017-05-25 23:33:10