![](/img/trans.png)
[英]Is it possible to send a list of files and a whole json object in a FormData object to a ASP.NET CORE MVC Controller
[英]How to properly send and handle a JSON object in an ASP.NET MVC controller?
我正在使用ASP.NET MVC 4,并且尝试将JSON对象发送到接受
这是我的JavaScript和jQuery:
var jsonObject = {
"PlantShipTo":{
"PlantID" : shipToID.toString()
}
};
$.ajax({
type: "POST",
contentType: 'application/json; charset=utf-8',
timeout: 15000,
url: "/Transfer/TransferOut",
data: JSON.stringify(jsonObject),
dataType: 'json',
tradational: 'true',
success: function (response) {
}
});
在我的控制器中,我接受下面定义的“ PlantShipTo”类型的对象:
public class PlantShipTo
{
public int PlantID { get; set; }
}
为简便起见,我将仅显示控制器定义:
public ActionResult TransferOut(PlantShipTo shipto)
{
PlantShipTo p = shipto;
我希望MVC模型绑定将JSON识别为PlantShipTo对象,但是当我在控制器中检查该对象时,该对象为null。 以下是我的一些请求信息,由Fiddler提供。 JSON看起来与我的“ PlantShipTo”类匹配。 我想念什么?
Accept: application/json, text/javascript, */*; q=0.01
Content-Type: application/json; charset=utf-8
X-Requested-With: XMLHttpRequest
{"PlantShipTo":{"PlantID":"2"}}
仅当您发送的数据与控制器中指定的参数名称匹配时,MVC才能自动对绑定进行建模。
您可以在JSON中更改根元素的名称以匹配您的参数名称:
var jsonObject = {
"shipTo":{
"PlantID" : shipToID.toString()
}
};
或删除根元素,以便MVC可以自动绑定到参数的属性:
var jsonObject = {
"PlantID" : shipToID.toString()
};
您的JSON对象不是很正确。 检查一个正确的-
var jsonObject = {
"PlantID": YourVariable
};
$.ajax({
url: "@Url.Action("TransferOut")",
type: "POST",
data: JSON.stringify(jsonObject),
contentType: "application/json; charset=utf-8",
dataType: "json",
error: function (response) {
alert(response.responseText);
},
success: function (response) {
alert(response);
}
});
输出-
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.