ajax提交成功,功能没有解雇

时间:2012-11-12 21:21:00

标签: jquery asp.net-ajax

我一直都没有使用jQuery,但我有这个表单,它正在向我的MVC控制器提交数据而没有问题,数据正在保存,我的成功功能正在受到攻击,因为如果我发出警报( “东西”)在那里,它被解雇了。我的ClearFields()函数也被解雇了。但是,我使用ajax的GetSamples(projId)函数,获取了projectId的样本列表,没有触发,但它确实触发了pageload。

下面是我的代码...如果有人能指出我正确的方向,这将是伟大的原因我不明白为什么它不工作

 $(function () {

    var projectId = "@Model.Project.Id";

    GetSamples(projectId);

    $("#refreshButton").button().click(function () {
        GetSamples(projectId);
    });

    $("#saveSampleButton").button().click(function () {
        $.ajax({
            url: "/PreRegistration/AddSample",
            type: "POST",
            data: { projectId: projectId,
                customerSampleId: $("#CustomerSampleId").val(),
                customerSampleId2: $("#CustomerSampleId2").val(),
                customerSampleId3: $("#CustomerSampleId3").val(),
                customerSampleId4: $("#CustomerSampleId4").val(),
                matrix: $("#Matrix").val(),
                product: $("#Product").val(),
                productGrade: $("#ProductGrade").val(),
                dueDate: $("#DueDate").val()
            },
            success: function (response, projectId, jqXHR) {
                alert("done");
                ClearFields();
                GetSamples(projectId);
            },
            error: function (xyz) {
                alert("Something went wrong : " + xyz.val());
            }               
        });

        return false;
    });



    $("#DueDate").datepicker({ dateFormat: "dd/mm/yy" });

    function ClearFields() {
        $("#CustomerSampleId").val("");
        $("#CustomerSampleId2").val("");
        $("#CustomerSampleId3").val("");
        $("#CustomerSampleId4").val("");
        $("#Matrix").val("");
        $("#Product").val("");
        $("#ProductGrade").val("");
        $("#DueDate").val("");
    }

    function GetSamples(pId) {
        $.ajax({
            url: "/PreRegistration/GetSamples",
            type: "POST",
            data: { Id: pId },
            success: function (response) {
                $("#ProjectSamples tbody").replaceWith(response)
            }
        });
    }

});

我现在对代码进行了一些更改,因为我可以看到导致我的问题的部分原因,GetSamples()函数似乎正在触发,但它没有更新表...

$(function () {

    var projectId = "@Model.Project.Id";

    GetSamples(projectId);

    $("#saveSampleButton").button().click(function () {
        $.ajax({
            url: "/PreRegistration/AddSample",
            type: "POST",
            data: { projectId: projectId,
                customerSampleId: $("#CustomerSampleId").val(),
                customerSampleId2: $("#CustomerSampleId2").val(),
                customerSampleId3: $("#CustomerSampleId3").val(),
                customerSampleId4: $("#CustomerSampleId4").val(),
                matrix: $("#Matrix").val(),
                product: $("#Product").val(),
                productGrade: $("#ProductGrade").val(),
                dueDate: $("#DueDate").val()
            },
            success: function (projectId) {
                ClearFields();
                GetSamples(projectId);
            },
            error: function (xyz) {
                alert("Something went wrong : " + xyz.val());
            }
        });

        return false;
    });



    $("#DueDate").datepicker({ dateFormat: "dd/mm/yy" });

    function ClearFields() {
        $("#CustomerSampleId").val("");
        $("#CustomerSampleId2").val("");
        $("#CustomerSampleId3").val("");
        $("#CustomerSampleId4").val("");
        $("#Matrix").val("");
        $("#Product").val("");
        $("#ProductGrade").val("");
        $("#DueDate").val("");
    }

    function GetSamples(projectId) {
        $.ajax({
            url: "/PreRegistration/GetSamples",
            type: "POST",
            data: { Id: projectId },
            success: function (response) {
                $("#ProjectSamples tbody").replaceWith(response)
            }
        });
    }

});

已调试,并且projectId(1)正在正确传递给函数。在VS中,在我的控制器操作上,正在获取数据并将其传递回视图...但该表未被重新填充

0 个答案:

没有答案