【问题标题】:JSLint Warning about Ajax data关于 Ajax 数据的 JSLint 警告
【发布时间】:2020-04-22 19:10:59
【问题描述】:

以下是我的JS的sn-p:

$("#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 发出警告:

意外的“:名字”。

意外的“:姓氏”。

。 . ...直到消息。

究竟是什么错误?代码运行良好,但想让 JSLint 满意。

【问题讨论】:

    标签: javascript jquery jslint


    【解决方案1】:

    代码的问题是您的数据属性是一个 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问题详细解释更好的答案

    【讨论】:

    • 我相信是伟大的哲学家荷马曾经说过,“Doh!”
    【解决方案2】:

    您需要用“反逗号”符号覆盖您的数据键,例如

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

    【讨论】:

      【解决方案3】:

      在您的数据对象中,您必须用引号将属性名称写入 喜欢:-

      data: {
      "first_name": first_name,
      "last_name": last_name
      }
      

      【讨论】:

        猜你喜欢
        • 2010-11-18
        • 1970-01-01
        • 2011-07-24
        • 2010-09-27
        • 1970-01-01
        • 2015-08-13
        • 2015-03-17
        • 2017-10-25
        • 1970-01-01
        相关资源
        最近更新 更多