关于 Ajax 数据的 JSLint 警告
JSLint Warning about Ajax data
以下是我的JS片段:
$("#submit-email").click(function () {
var first_name = $("input[name='first_name']").val();
var last_name = $("input[name='last_name']").val();
var telephone_number = $("input[name='telephone_number']").val();
var email_address = $("input[name='email_address']").val();
var message = $("textarea[name='message']").val();
$.ajax({
url: route_send_email,
method: "POST",
data: {
first_name: first_name,
last_name: last_name,
telephone_number: telephone_number,
email_address: email_address,
message: message
},
success: function () {
$("input[name='first_name']").val("");
$("input[name='last_name']").val("");
$("input[name='telephone_number']").val("");
$("input[name='email_address']").val("");
$("input[name='message']").val("");
}
});
});
JSLint 发出警告:
Unexpected ': first_name'.
Unexpected ': last_name'.
。
.
... 直到留言。
具体错误是什么?代码工作正常,但想让 JSLint 开心。
代码的问题是您的数据 属性 是一个 JSON 对象,其语法是
{
"property": value
}
JSHint 发现了 属性 名称周围没有 " 的事实。
你的 data
对象应该变成:
data: {
"first_name": first_name,
"last_name": last_name,
"telephone_number": telephone_number,
"email_address": email_address,
"message": message
}
This问题详细解释更好的答案
您需要用 "inverted commas" 符号覆盖您的数据密钥,例如
$("#submit-email").click(function () {
var first_name = $("input[name='first_name']").val();
var last_name = $("input[name='last_name']").val();
var telephone_number = $("input[name='telephone_number']").val();
var email_address = $("input[name='email_address']").val();
var message = $("textarea[name='message']").val();
$.ajax({
url: route_send_email,
method: "POST",
data: {
"first_name": first_name,
"last_name": last_name,
"telephone_number": telephone_number,
"email_address": email_address,
"message": message
},
success: function () {
$("input[name='first_name']").val("");
$("input[name='last_name']").val("");
$("input[name='telephone_number']").val("");
$("input[name='email_address']").val("");
$("input[name='message']").val("");
}
});
});
在您的数据对象中,您必须用引号写 属性 名称
喜欢:-
data: {
"first_name": first_name,
"last_name": last_name
}
以下是我的JS片段:
$("#submit-email").click(function () {
var first_name = $("input[name='first_name']").val();
var last_name = $("input[name='last_name']").val();
var telephone_number = $("input[name='telephone_number']").val();
var email_address = $("input[name='email_address']").val();
var message = $("textarea[name='message']").val();
$.ajax({
url: route_send_email,
method: "POST",
data: {
first_name: first_name,
last_name: last_name,
telephone_number: telephone_number,
email_address: email_address,
message: message
},
success: function () {
$("input[name='first_name']").val("");
$("input[name='last_name']").val("");
$("input[name='telephone_number']").val("");
$("input[name='email_address']").val("");
$("input[name='message']").val("");
}
});
});
JSLint 发出警告:
Unexpected ': first_name'.
Unexpected ': last_name'.
。 . ... 直到留言。
具体错误是什么?代码工作正常,但想让 JSLint 开心。
代码的问题是您的数据 属性 是一个 JSON 对象,其语法是
{
"property": value
}
JSHint 发现了 属性 名称周围没有 " 的事实。
你的 data
对象应该变成:
data: {
"first_name": first_name,
"last_name": last_name,
"telephone_number": telephone_number,
"email_address": email_address,
"message": message
}
This问题详细解释更好的答案
您需要用 "inverted commas" 符号覆盖您的数据密钥,例如
$("#submit-email").click(function () {
var first_name = $("input[name='first_name']").val();
var last_name = $("input[name='last_name']").val();
var telephone_number = $("input[name='telephone_number']").val();
var email_address = $("input[name='email_address']").val();
var message = $("textarea[name='message']").val();
$.ajax({
url: route_send_email,
method: "POST",
data: {
"first_name": first_name,
"last_name": last_name,
"telephone_number": telephone_number,
"email_address": email_address,
"message": message
},
success: function () {
$("input[name='first_name']").val("");
$("input[name='last_name']").val("");
$("input[name='telephone_number']").val("");
$("input[name='email_address']").val("");
$("input[name='message']").val("");
}
});
});
在您的数据对象中,您必须用引号写 属性 名称 喜欢:-
data: {
"first_name": first_name,
"last_name": last_name
}