div.load()导致整页回发

时间:2017-05-02 11:12:13

标签: javascript jquery html asp.net-mvc

保存表单数据后,需要加载div而不是整页刷新,但首先要进入主页面操作控制器,然后是DIV Load Partial Action Controller。我无法找到它发布整页的原因。

我也添加了preventDefault()命令。

$("#btnSave").click(function (e) {
    e.preventDefault();

    var url = "@Url.Action("Save", "Note")";
    var id = "1";
    var model = {
      modelfields.....
    };

    $.ajax({
        type: "POST",
        data: JSON.stringify(model),
        url: url,
        contentType: "application/json",
        success: function (data) {
            if (data == "True") {

              // Load div
                var settings = { editUrl: '@Url.Action("Get", "Note", new { ID = "-1" })' };
                 settings.editUrl = settings.editUrl.replace("-1", id);
                $("#divNoteDetails").load(settings.editUrl);
            }
            else if (data == "False") {
                alert('not saved');
            }
        },
        error: function () {
            alert('error');
        }
    });
    return false; 
});

1 个答案:

答案 0 :(得分:0)

如果您的按钮位于表单内,则其默认typesubmitsee the spec for details

尝试在按钮上添加type="button",或在附加到表单本身的事件处理程序上添加event.preventDefault()