JSHint - ^'简明方法'在ES6中可用(JSHint - ^ 'concise methods' is available in ES6)

我正在尝试使用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(),^'简明方法'在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'], } }

这究竟意味着什么? 我该如何解决这个错误?

谢谢!

I'm trying to submit a simple form using AJAX. I'm using grunt as task runner to compile my JS files and so.

Here is what I did until now.

$("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); }) });

My doubt is about a JShint error when the task is about to run

$("#username").val(), ^ 'concise methods' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz).

Here is my gruntfile (jshint task)

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'], } }

What exactly does it means ? And how can I solve this error ?

Thanks!

最满意答案

formData正文缺少名称:

var formData = { $("#username").val(), $("#password").val() };

任何类型的简短对象文字,无论是计算名称还是内联方法,都是ES6的一项功能。

您几乎可以肯定只需要将名称添加到您已获得的值中:

var formData = { username: $("#username").val(), password: $("#password").val() };

使用ES6,您可以在对象文本中声明方法,如下所示:

var formDataFetch = { username() { return $("#username").val() } };

(请参阅此博客文章了解更多详情)

这似乎是解析器认为你的对象包含的内容。

The formData body is missing the names:

var formData = { $("#username").val(), $("#password").val() };

Any kind of short-hand object literal, be it calculated names or inline methods, is an ES6 feature.

You almost certainly just need to add the names to the values you're already getting:

var formData = { username: $("#username").val(), password: $("#password").val() };

With ES6, you are able to declare methods in an object literal, like so:

var formDataFetch = { username() { return $("#username").val() } };

(see this blog post for more details)

which seems to be what the parser thinks your object contains.

JSHint - ^'简明方法'在ES6中可用(JSHint - ^ 'concise methods' is available in ES6)

我正在尝试使用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(),^'简明方法'在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'], } }

这究竟意味着什么? 我该如何解决这个错误?

谢谢!

I'm trying to submit a simple form using AJAX. I'm using grunt as task runner to compile my JS files and so.

Here is what I did until now.

$("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); }) });

My doubt is about a JShint error when the task is about to run

$("#username").val(), ^ 'concise methods' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz).

Here is my gruntfile (jshint task)

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'], } }

What exactly does it means ? And how can I solve this error ?

Thanks!

最满意答案

formData正文缺少名称:

var formData = { $("#username").val(), $("#password").val() };

任何类型的简短对象文字,无论是计算名称还是内联方法,都是ES6的一项功能。

您几乎可以肯定只需要将名称添加到您已获得的值中:

var formData = { username: $("#username").val(), password: $("#password").val() };

使用ES6,您可以在对象文本中声明方法,如下所示:

var formDataFetch = { username() { return $("#username").val() } };

(请参阅此博客文章了解更多详情)

这似乎是解析器认为你的对象包含的内容。

The formData body is missing the names:

var formData = { $("#username").val(), $("#password").val() };

Any kind of short-hand object literal, be it calculated names or inline methods, is an ES6 feature.

You almost certainly just need to add the names to the values you're already getting:

var formData = { username: $("#username").val(), password: $("#password").val() };

With ES6, you are able to declare methods in an object literal, like so:

var formDataFetch = { username() { return $("#username").val() } };

(see this blog post for more details)

which seems to be what the parser thinks your object contains.