【发布时间】:2012-06-27 23:32:09
【问题描述】:
我正在使用 $.ajax() 向服务器发送 post call。如果我使用 POST 作为类型,它会给出一个错误,但如果我使用 GET 这样做,它就可以完美地工作。
问题是在做POST时,参数unitTotal在服务器端为空。但是在执行 GET 时,该参数被正确传递。
这里是 ajax 代码:
$.ajax({
type: "POST",
url: '/Sepet/SepeteTabloEkle',
data: { "tabloId": tabloId, "en": en, "boy": boy, "accessoryIds": accessoryIds, "miscTypes": miscTypes, "unitTotal": total },
traditional:true,
success: function (data) {
},
});
这是我的动作定义:
[HttpPost]
public void SepeteTabloEkle(int tabloId, int en, int boy, List<int> accessoryIds, List<string> miscTypes, decimal unitTotal )
如果我使用 POST,这是服务器给出的错误。如果我使用 GET,则不会抛出此错误,unitTotal 会很好地传递。
错误:
参数字典包含参数的空条目 方法'Void'的不可为空类型'System.Decimal'的'unitTotal' SepeteTabloEkle(Int32, Int32, Int32, System.Collections.Generic.List
1[System.Int32], System.Collections.Generic.List1[System.String], System.Decimal)' 在 'RenkliTablo.Controllers.SepetController'。可选参数必须 是引用类型、可为空的类型或被声明为可选项参数。参数名称:参数
【问题讨论】:
-
为什么不能用get?..
-
因为这是他应该用来将数据“发布”到服务器的方法
标签: jquery ajax asp.net-mvc post