Javascript 如何使用JQuery AJAX基于HTTP状态代码创建自定义消息?
使用jQuery,我想根据返回的数据HTTP状态代码创建一个自定义消息。我根据返回的状态代码创建了一个显示唯一消息的条件,但收到以下错误消息: 未捕获引用错误:未定义数据: 我的jQuery脚本是:Javascript 如何使用JQuery AJAX基于HTTP状态代码创建自定义消息?,javascript,jquery,ajax,Javascript,Jquery,Ajax,使用jQuery,我想根据返回的数据HTTP状态代码创建一个自定义消息。我根据返回的状态代码创建了一个显示唯一消息的条件,但收到以下错误消息: 未捕获引用错误:未定义数据: 我的jQuery脚本是: jQuery(document).ready(function($) { $('#submitButton').click( function(e) { e.preventDefault(); $.ajax({
jQuery(document).ready(function($) {
$('#submitButton').click( function(e) {
e.preventDefault();
$.ajax({
url: 'myUrl',
type: 'post',
dataType: 'json',
data: $('form#Form').serialize(),
success: function(data) {
if (data.code == '201') {
alert('New Resource Created');
}
if (data.code == '1000') {
alert('Successful message');
}
},
error: function(xhr, status, error){
if (data.code == '400') {
alert('Bad Request!');
}
if (data.code == '2004') {
alert('System error message!');
}
}
// Prevent default form action
});
});
});
我收到的JSON代码使用以下格式:
{
"status": "400",
"code": "2003",
"message": "Invalid address copy"
}
以下是状态代码的示例:
201 – OK
2004 - System error message!
400 - Invalid address copy
我的HTML表单如下:
<form id="Form">
<input type="text" id="name" name="name" placeholder="First Name">
<input type="text" id="address1" placeholder="Address 1" name="address1">
<button type="submit" id="submitButton">Submit</button>
</form>
提交
不确定我在这方面遗漏了什么,也不知道为什么会出错,但欢迎提供任何帮助。正如我在之前的评论中提到的,请尝试:
jQuery(document).ready(function($) {
$('#submitButton').click( function(e) {
e.preventDefault();
$.ajax({
url: 'myUrl',
type: 'post',
dataType: 'json',
data: $('form#Form').serialize(),
success: function(data) {
if (data.code == '201') {
alert('New Resource Created');
}
if (data.code == '1000') {
alert('Successful message');
}
},
error: function(xhr, status, error){
if (xhr.code == '400') {
alert('Bad Request!');
}
if (xhr.code == '2004') {
alert('System error message!');
}
}
// Prevent default form action
});
});
});
if(data.code==
应该是if(status==
您可以使用xhr作为参数获取状态代码,并通常在成功函数中检查xhr.status。您之所以会收到此错误,是因为当它进入错误:
,数据未定义!请尝试使用status
变量或使用xhr
变量……我会尝试一下。谢谢!