我有以下JSON请求正文(从ie10管理面板网络捕获中复制)
{"FirstName":"James","LastName":"Jones","Email":"jJones@system.net"}
我的控制器如下(x变量要断开):
[HttpPost]
public void EditPerson(PersonUpdateViewModel person)
{
int x = 0;
}
我的ViewModel如下:
public class PersonUpdateViewModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
}
到达了EditPerson Action,我打破了x变量,但是person变量中的所有属性都是null,是否有人对我可能做错了什么有任何提示?此时我甚至可以接受原始JSON字符串并从那里进行解析,但我无法在action方法中获取任何参数。
javascript函数我是按要求发布的:
var submitEdit2 = function () {
var editables = $('.editable')
var person = new Object();
for (var i = 0; i < editables.length; i++) {
var editable = editables[i];
person[editable.name] = editable.value;
}
var jform = JSON.stringify(person);
$.post('/Person/EditPerson', jform, null, 'json');
}
答案 0 :(得分:1)
尝试使用AJAX帖子并指定
contentType to&#39; application / json;字符集= UTF-8&#39;
$.ajax( {
type: "POST",
url: /Person/EditPerson',
contentType: 'application/json; charset=utf-8',
data: jform
}
如果这不能解决问题,请发布标题信息。我猜测使用$ post发送&#34; application / x-www-form-urlencoded&#34; .NET MVC不喜欢的数据。