簡體   English   中英

Ajax發布不會將任何數據傳遞到MVC控制器

[英]Ajax post doesn't pass any data to MVC controller

這個:

        $.ajax({
            url: '/Merchant/SaveDirty',
            type: 'POST',
            dataType: 'json',
            data: ko.toJSON(dirtyItems),
            contentType: 'application/json; charset=utf-8',
            success: function (data) {
                // get the result and do some magic with it
                //var message = data.Message;
                alert(ko.toJSON(dirtyItems));
            }
        });

...目前稱為:

[HttpPost]
public void SaveDirty(string json)
{

}

...但是當我在SaveDirty中達到斷點時,沒有數據傳遞。 我已驗證ko.toJSON(dirtyItems)在javascript中返回JSON字符串。 我究竟做錯了什么?

謝謝!

@KillingsWorth,發布JSON字符串是否有任何特定原因? 如果不是,則可以創建一個與dirtyitems類型相對應的類,並在您的控制器方法中接受dirtyItems的列表。

Class DirtyItem 
{ // dirty item properties }

[HttpPost]
public void SaveDirty(List<DirtyItem> dirtyItems)
{

}

您可以使用以下內容:

$就({

        url: '/Merchant/SaveDirty',

        type: 'POST',

        dataType: 'json',

        data: JSON.stringify(dirtyItems),

        contentType: 'application/json; charset=utf-8',

        success: function (data) {
            ///

///

        }

    });

但是,如果您在申請中使用基因敲除.js,則應執行以下操作:

$就({

        url: '/Merchant/SaveDirty',

        type: 'POST',

        dataType: 'json',

        data:JSON.stringify(ko.mapping.toJS(dirtyItems)),

        contentType: 'application/json; charset=utf-8',

        success: function (data) {

            // get the result and do some magic with it

            //var message = data.Message;

            alert(ko.toJSON(dirtyItems));


        }

    });

這應該工作:

$.ajax({
            url: '@Url.Action("SaveDirty", "Merchant")'
            type: 'POST',
            dataType: 'json',
            data: JSON.stringify(dirtyItems),
            contentType: 'application/json; charset=utf-8',
            success: function (data) {
                // get the result and do some magic with it
                //var message = data.Message;
                alert(ko.toJSON(dirtyItems));
            }
        });

暫無
暫無

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

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