MVC:将对象和整数作为JSON发送到控制器
MVC: Send object and integer to controller as JSON
我正在尝试使用jQueryAJAX向我的控制器操作发送一个自定义对象和一个整数。
[HttpPost]
public JsonResult GetFilenameSuggestion(Document document, int tradeId)
{
//do stuff...
}
在我的JS中,我尝试用几种方式创建发送到控制器的json,包括:
var json = JSON.stringify({ document: document, tradeId: tradeId });
//or
var json = { document: JSON.stringify(document), tradeId: tradeId };
//or
var json = { document: document, tradeId: tradeId };
这是我的jQuery AJAX:
$.ajax({
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
url: "/Document/GetFilenameSuggestion",
data: json,
error: function (XMLHttpRequest, textStatus, errorThrown) {
//do bad stuff...
},
success: function (data) {
//do good stuff...
});
有什么建议吗?当ajax发布时,我收到了一个内部服务器错误,我99%确信这是由于参数是如何传递给控制器操作的。
使用JSON.stringify
将javascript对象转换为json字符串版本,并将contentType
指定为"application/json
"。
下面的代码应该可以正常工作。
var model = { document: { DocumentName: "Dummy" }, tradeId: 34 };
$.ajax({
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
url: "/Document/GetFilenameSuggestion",
data: JSON.stringify(model),
error: function(XMLHttpRequest, textStatus, errorThrown) {
//do bad stuff...
},
success: function(data) {
//do good stuff...
}
});
对于此操作方法签名
[HttpPost]
public JsonResult GetFilenameSuggestion(Document document, int tradeId)
{
// to do : return some useful JSON data
}
相关文章:
- 错误405:向Java控制器(Ajax)发送JSON时找不到POST方法
- 尝试从控制器加载带有json数据的Simile时间线
- 使用2个控制器管理工厂JSON$http数据
- 将从控制器返回的selectbox值动态呈现为json
- 如何在Thymelaf中将JSON值从控制器传递到HTML
- 如何将json文件中的数据提取到对象数组中,并在两个控制器之间共享
- MVC5:通过 Ajax 发布 JSON 时未正确将数据传递到控制器
- 跨控制器服务的角度json数据
- 如何使用json对发送到MVC控制器的数据进行编码
- 如何在symfony2控制器中发送JSON响应
- 我们可以将控制器中的JSON数据(MM/DD/YYYY格式)与今天的's日期,并在数组中显示筛选列表
- gmaps4rails:如何从控制器中检索json值
- 将JSON从rails控制器加载到javascript文件中的d3.dedefe()函数
- 将JSON从PHP控制器传递到AngularJS控制器的最佳方式
- 将 JSON 数据从控制器传递到指令并显示在视图中
- AngularJS:从