【发布时间】:2011-01-01 09:50:39
【问题描述】:
我将 jQuery ajax 调用中的两个字符串参数传递给 MVC 控制器方法,期望得到 json 响应。我可以看到参数是在客户端填充的,但在服务器端匹配的参数是空的。
这里是javascript:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "List/AddItem",
data: "{ ListID: '1', ItemName: 'test' }",
dataType: "json",
success: function(response) { alert("item added"); },
error: function(xhr, ajaxOptions, thrownError) { alert(xhr.responseText); }
});
这里是控制器方法:
Function AddItem(ByVal ListID As String, ByVal ItemName As String) As JsonResult
'code removed for brevity
'ListID is nothing and ItemName is nothing upon arrival.
return nothing
End Function
我做错了什么?
【问题讨论】:
-
不应该是
data: { ListID: '1', ItemName: 'test' },吗?没有双引号。 -
LukeLed 是对的:您传递的是字符串而不是对象。去掉双引号就可以了。
-
感谢您的回复。我尝试删除双引号并得到相同的结果。
-
@Grant:你删除了
contentType吗?使用contentType不起作用。
标签: javascript jquery asp.net-mvc ajax