0

我在 mvc4 中使用 ajax post 到控制器,

我的代码控制器是:

[HttpPost]
public JsonResult UpdateAllSettings(int PresetID,List<CustomerAjaxServiceSettingPoco> customerServiceSettings)
{

和 CustomerAjaxServiceSettingPoco 是:

 public class CustomerAjaxServiceSettingPoco
    {
        public int ID { get; set; }
        public string ClientSettingValue { get; set; }
    }

我的 javascript 是:

 var customerServiceSettings = new Array();
        $('.settings_user').each(function () {
            customerServiceSettings[customerServiceSettings.length] = { 'ID': $(this).data('settingsid'), 'ClientSettingValue': $(this).val() };
        });



$.ajax({
        url: '/Services/UpdateAllSettings?PresetID=' + PresetID,
        type: 'POST',
        data: { 'customerServiceSettings':JSON.stringify( customerServiceSettings) },
        traditional: true,
        dataType: 'json',
        success: function (result) {
            do...
        }
    });

仍然处于调试模式,我得到“customerServiceSettings count=0”和“PresetID = 1”我做错了什么?在火灾错误中,帖子来源是:参数 customerServiceSettings [{"ID":1,"ClientSettingValue":"False"},{"ID":2,"ClientSettingValue":"False"},{"ID":3, "ClientSettingValue":"False"},{"ID":4,"ClientSettingValue":"False"},{"ID":5,"ClientSettingValue":"True"},{"ID":6,"ClientSettingValue ":"True"},{"ID":9,"ClientSettingValue":"True"},{"ID":10,"ClientSettingValue":"False"},{"ID":11,"ClientSettingValue": "真"},{"ID":12,"ClientSettingValue":"

4

1 回答 1

0

尝试添加contentTypestringify整个对象,如下所示:

$.ajax({
        type: 'POST',
        dataType: 'json',
        url: '...',
        data: JSON.stringify({ steps: ['1', '2', '3'] }),
        contentType: 'application/json; charset=utf-8',
});
于 2013-04-08T11:48:16.070 回答