簡體   English   中英

kickoutJS-ajax表單提交兩次

[英]knockoutJS - ajax form submitting twice

我有一個要提交兩次的表格。

我已經通過類似的jQuery相關的問題看上去這里這里和Google群組這里 ,但一直沒能找到解決的辦法。

由於我是Knockout.js的新手,也許我缺少明顯的東西? 我想了解為什么會這樣。 這是我所擁有的:

表格:

<form data-bind="submit: Save">
 <div class="span11">
@foreach (var prop in ViewData.ModelMetadata.Properties)
{      
  @Html.Label(prop.PropertyName, new { @class = "attribute-label" })
  @Html.TextBox(prop.PropertyName, "", new { data_bind = "value: " + prop.PropertyName + "" })

}

</div>
<br />
<button type="submit" class="btn" data-bind="enable: IsEnabled">Update                    
</button>
</form>

視圖模型:

var viewModel = @Html.Raw(Json.Encode(Model));

viewModel.Save = function() {            

        $.ajax({
            url: '@Url.Action("UpdateEmployee")',
            contentType: 'application/json; charset=utf-8',
            type: "POST",
            data: ko.toJSON({ employee: viewModel }),

            success: function(result) {
                //...

            },

            error: function(xhr, ajaxOptions, thrownError) {
               //...

            }
        });

    };

    $(function() {

        ko.applyBindings(viewModel);

    });

根據您向我們展示的代碼,沒有理由要提交兩次。 可能發生的事情是,您還有一些其他的代碼被調用,這些代碼明確地調用Save()函數,這使其看上去好像要提交兩次。

我寫了一個小提琴來模仿您所顯示的內容,它沒有您正在描述的問題。

小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM