C# 将JavaScript对象放入我的控制器:我缺少什么?
当我尝试运行时,收到C# 将JavaScript对象放入我的控制器:我缺少什么?,c#,asp.net,ajax,json,asp.net-mvc,C#,Asp.net,Ajax,Json,Asp.net Mvc,当我尝试运行时,收到500(内部服务器错误) $.ajax({ xhr: function() { var xhr = new window.XMLHttpRequest(); return xhr; }, type: 'POST', url: '@Url.Action("MyAction","MyController")', data: fi,
500(内部服务器错误)
$.ajax({
xhr: function() {
var xhr = new window.XMLHttpRequest();
return xhr;
},
type: 'POST',
url: '@Url.Action("MyAction","MyController")',
data: fi,
contentType: "application/json; charset=utf-8",
dataType: "json", // dataType is json format
success: function(retJson) {
// ...
}
});
其中,fi
是类似于{org:“string1”、cat:“string2”、fileName:“string3”}
的JavaScript映射,myAction
类似于
[HttpPost]
public async Task<JsonResult> myAction (FileInfo fi)
{
知道我在这里遗漏了什么吗?问题在于JSON对象的定义方式 道具名称应使用单引号,如下所示:
{'org': 'string1', 'cat': 'string2', 'fileName': 'string3'}
什么是500服务器错误?500响应的堆栈跟踪中有什么,它应该提供更多详细信息?错误显示在JavaScript控制台中。请参阅删除
contentType:“application/json;charset=utf-8”,
(或者使用数据:json.stringify(fi),
{'org': 'string1', 'cat': 'string2', 'fileName': 'string3'}