![](/img/trans.png)
[英]I am unable to send data from AngularJS to Spring MVC controller
[英]Unable to send JSON data to MVC controller
我有一个JavaScript函数,如下所示:
function exportToExcel() {
$.ajax({
url: "/eBird/ExportToExcel",
data: jsonSightingData,
type: 'POST',
contentType: 'application/json'
});
}
我的MVC控制器如下所示:
public ActionResult ExportToExcel(List<Entities.MyClass> data)
{
try
{
...
}
catch (System.Exception exception)
{
...
}
MyClass的定义是:
public class MyClass
{
public string comName { get; set; }
public int howMany { get; set; }
public double lat { get; set; }
public double lng { get; set; }
public string locID { get; set; }
public string locName { get; set; }
public bool locationPrivate { get; set; }
public string obsDt { get; set; }
public bool obsReviewed { get; set; }
public bool obsValid { get; set; }
public string sciName { get; set; }
}
该类完全匹配传入的JSON数据。 问题在于,当调用我的控制器方法时,“数据”始终为NULL。 我的理解是,MVC模型绑定程序将自动将JSON数据绑定到MyClass列表。 但是它似乎没有用。
JSON示例如下:
[{"comName":"Great Black-backed Gull","lat":42.4613266,"lng":-76.5059255,"locID":"L99381","locName":"Stewart Park","locationPrivate":false,"obsDt":"2014-09-19 12:40","obsReviewed":false,"obsValid":true,"sciName":"Larus marinus"}]
使用通用对象(如JContainer)“捕获”传入的数据。 如果您不确定所得到的,甚至是对象。 然后看看里面有什么。 我使用外部解串器将json转换回类。 (使用.ToString()使它对序列化程序可读)
(尝试Json.Net)
另外-确保JSON不会转换为Unicode。 我也有这个问题。
另一句话-我认为内容类型应该是application / json。 阅读: SO有关json内容类型
运行Fiddler并捕获发送到控制器的Json。 控制器需要一个列表,但是看起来您正在发送单个对象。 由于我们中的许多人而发生的事情是空的。 我会尝试并运行您所拥有的。 您还可以把控制器弄乱,只给它MyClass吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.