我试图使用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错误
$("#用户名&#34)。VAL(), ^'简明的方法'可以在ES6(使用esnext选项)或Mozilla JS扩展(使用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'],
}
}
这究竟是什么意思?我该如何解决这个错误?
谢谢!
答案 0 :(得分:11)
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)
这似乎是解析器认为你的对象包含的内容。