闭包编译器在complie jquery .post函数时给出错误

时间:2015-08-05 14:34:20

标签: javascript jquery google-closure-compiler

它给出了这个错误“JSC_TRAILING_COMMA:解析错误.IE8(及以下)将错误地解析数组和对象文字中的尾随逗号。如果你的目标是JS的新版本,请设置相应的language_in选项。在第216行,字符46 needID :needID,“当我编译以下javascript代码。请帮助我找出错误。

          $(document).ready(function () {

                var quantityPattern;
                var datePattern;
                var currentNeedDate;
                var currentQuantity;
                var currentNDescription;
                var currentNName;

                $(".save").hide();
                $(".cancel").hide();
                $(".needID").hide();
                $(".addNow").hide();
                $(".newData").hide();
                $(".cancelAddData").hide();

                quantityPattern = new RegExp(/^[0-9]*$/);
                //check formatted as YYYY/MM/DD or YYYY-MM-DD
                datePattern = new RegExp(/^(?!(?![02468][048]|[13579][26]00)..(?!(?!00)[02468][048]|[13579][26])...02.29)\d{4}([\/-])(?=0.|1[012])(?!(0[13578]|1[02]).31|02.3)\d\d\1[012]|3[01]$/);

//add button start-------------------------------------------------------------------------------------------------------------------------------
                $(".add").click(function () {

                    $(".newData").show();
                    $(".addNow").show();
                    $(".cancelAddData").show()
                    $(this).hide();

                });
//add button end-------------------------------------------------------------------------------------------------------------------------------

//cancelAddData button start -----------------------------------------------------------------------------------------------------------------------------
                $(".cancelAddData").click(function () {

                    $(".newData").val("");
                    $(".add").show();
                    $(".newData").hide();
                    $(".addNow").hide()
                    $("#inputState").text("");
                    $(this).hide();
                });
//cancelAddData button end -----------------------------------------------------------------------------------------------------------------------------

//addNow button start-------------------------------------------------------------------------------------------------------------------------------
                $(".addNow").click(function () {

                    var nName = $(".newData.nName").val();
                    var nDescription = $(".newData.nDescription").val();
                    var quantity = $(".newData.quantity").val();
                    var needDate = $(".newData.needDate").val();

                    if ((nName === "") || (nDescription === "") || (quantity === "") || (needDate === ""))
                    {
                        $("#inputState").text("Enter data").css("color", "red");
                        return;
                    }
                    else if (!quantityPattern.test(quantity))
                    {
                        $("#inputState").text("Enter valid data").css("color", "red");
                        return;
                    }
                    else if (!datePattern.test(needDate))
                    {
                        $("#inputState").text("Enter valid data").css("color", "red");
                        return;
                    }

                    $("#inputState").text("");

                    $.post("AddShopNeedRqst",
                            {
                                nName: nName,
                                nDescription: nDescription,
                                quantity: quantity,
                                needDate: needDate

                            },
                    function (data, status) {

                        if (data === "done")
                        {
                            $("#inputState").text("Update data successfully").css("color", "green").show().fadeOut(2000);
                            location.reload();
                        }
                        else
                        {
                            $("#inputState").text("record not updated ").css("color", "red").show().fadeOut(2000);
                            location.reload();
                        }
                    });

                    $(".newData").val("");
                    $(".add").show();
                    $(".newData").hide();
                    $(".cancelAddData").hide();
                    $(this).hide();


                });
//addNow button end-------------------------------------------------------------------------------------------------------------------------------

//edit button start -----------------------------------------------------------------------------------------------------------------------------
                $(".edit").click(function () {

                    var nName = $(this).parents("tr").find(".nName").html();
                    var nDescription = $(this).parents("tr").find(".nDescription").html();
                    var quantity = $(this).parents("tr").find(".quantity").html();
                    var needDate = $(this).parents("tr").find(".needDate").html();


                    currentNName = nName;
                    currentNDescription = nDescription;
                    currentQuantity = quantity;
                    currentNeedDate = needDate;


                    $(this).parents("tr").find(".nName").html('<input type="text" value="' + nName + '">');
                    $(this).parents("tr").find(".nDescription").html('<input type="text" value="' + nDescription + '">');
                    $(this).parents("tr").find(".quantity").html('<input type="text" value="' + quantity + '">');
                    $(this).parents("tr").find(".needDate").html('<input type="text" value="' + needDate + '">');

                    $(this).parents("tr").find(".save").show();
                    $(this).parents("tr").find(".cancel").show();
                    $(".edit").prop("disabled", true);

                });
//edit button end -----------------------------------------------------------------------------------------------------------------------------

//cancel button start -----------------------------------------------------------------------------------------------------------------------------
                $(".cancel").click(function () {

                    $(this).parents("tr").find(".nName").html(currentNName);
                    $(this).parents("tr").find(".nDescription").html(currentNDescription);
                    $(this).parents("tr").find(".quantity").html(currentQuantity);
                    $(this).parents("tr").find(".needDate").html(currentNeedDate);

                    $(this).hide();
                    $(this).parents("tr").find(".save").hide();
                    $(".edit").prop("disabled", false);
                    $("#inputState").text("");

                });
//cancel button end -----------------------------------------------------------------------------------------------------------------------------

//save button start -----------------------------------------------------------------------------------------------------------------------------
                $(".save").click(function () {

                    var needID = $(this).parents("tr").find(".needID").html();
                    var nName = $(this).parents("tr").find(".nName").children("input").val();
                    var nDescription = $(this).parents("tr").find(".nDescription").children("input").val()
                    var quantity = $(this).parents("tr").find(".quantity").children("input").val();
                    var needDate = $(this).parents("tr").find(".needDate").children("input").val();

                    if ((nName === "") || (nDescription === "") || (quantity === "") || (needDate === ""))
                    {
                        $("#inputState").text("Enter data").css("color", "red");
                        return;
                    }
                    else if (!quantityPattern.test(quantity))
                    {
                        $("#inputState").text("Enter valid data").css("color", "red");
                        return;
                    }
                    else if (!datePattern.test(needDate))
                    {
                        $("#inputState").text("Enter valid data").css("color", "red");

                        return;
                    }

                    $("#inputState").text("");

                    $.post("SaveEditShopNeedRqst",
                            {
                                needID: needID,
                                nName: nName,
                                nDescription: nDescription,
                                quantity: quantity,
                                needDate: needDate

                            },
                    function (data, status) {

                        if (data === "done")
                        {
                            $("#inputState").text("Update data successfully").css("color", "green").show().fadeOut(2000);

                        }
                        else
                        {
                            $("#inputState").text("record not updated ").css("color", "red").show().fadeOut(2000);
                            location.reload();
                        }
                    });

                    $(this).parents("tr").find(".nName").html(nName);
                    $(this).parents("tr").find(".nDescription").html(nDescription);
                    $(this).parents("tr").find(".quantity").html(quantity);
                    $(this).parents("tr").find(".needDate").html(needDate);
                    $(this).hide();
                    $(".edit").prop("disabled", false);
                    $(".cancel").hide();

                });

//save button end ----------------------------------------------------------------------------------------------------


//delete button start -----------------------------------------------------------------------------------------------------------------------------
                $(".delete").click(function () {
                    var needID = $(this).parents("tr").find(".needID").html();
                    $(this).parents("tr").remove();

                    $.post("DeleteShopNeedRqst",
                            {
                                needID: needID,
                            },
                            function (data, status) {

                                if (data === "done")
                                {
                                    $("#inputState").text("Delete data successfully").css("color", "green").fadeOut( 3000, "linear");

                                }
                                else
                                {
                                    $("#inputState").text("record not deleted ").css("color", "red").fadeOut( 3000, "linear");
                                    location.reload();
                                }
                            });

                });
//delete button end -----------------------------------------------------------------------------------------------------------------------------



            });

1 个答案:

答案 0 :(得分:1)

您需要删除一个额外的括号:

$.post("AddShopNeedRqst", {
    nName: nName,
    nDescription: nDescription,
    quantity: quantity,
    needDate: needDate
}, function (data, status) {
    } //<-- The extra bracket has to be removed.
});

<强>更新

通过代码更新,发布到DeleteShopNeedRqst的对象中出现错误:

$.post("DeleteShopNeedRqst",
{
    needID: needID,  //<-- The comma has to be removed
},