我正在尝试使用 AJAX 提交一个简单的表单。我使用 grunt 作为任务运行程序来编译我的 JS 文件等。
这是我到目前为止所做的。
$("form").submit(function(event) {
event.preventDefault();
var formData = {
$("#username").val(),
$("#password").val()
};
$.ajax({
url: 'xxx',
type: 'POST',
dataType: 'json',
data: formData,
encode: true
})
.done(function(data) {
console.log(data);
})
});
我的疑惑是在任务即将运行时出现JShint错误
$("#username").val(), ^ 'concise methods' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz).
这是我的 gruntfile(jshint 任务)
jshint: {
ignore_warning: {
options: {
'-W099': true,
/*'-W041': true,*/
'-W044': true,
'-W033': true,
'-W043': true,
'-W049': true,
'-W004': true,
'-W065': true,
'-W083': true, // Corrigir futuramente
},
src: ['public/_assets/src/js/modules/*.js'],
}
}
具体是什么意思?我该如何解决这个错误?
谢谢!
最佳答案
formData
主体缺少名称:
var formData = {
$("#username").val(),
$("#password").val()
};
任何类型的简写对象字面量,无论是计算名称还是内联方法,都是 ES6 的特性。
您几乎可以肯定只需要将名称添加到您已经获得的值中:
var formData = {
username: $("#username").val(),
password: $("#password").val()
};
使用 ES6,您可以在对象字面量中声明方法,如下所示:
var formDataFetch = {
username() {
return $("#username").val()
}
};
(有关详细信息,请参阅 this blog post)
这似乎是解析器认为您的对象包含的内容。
关于javascript - JSHint - ^ 'concise methods' 在 ES6 中可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37172475/