我正在通过 ajax 发布一个 json 对象
$('#btnOrder').click(function (e) {
var jsonData =
{
ScheduleDate: '20/07/2015 17:00',
UnitNumber: '425196',
Length: 0.00
}
var url = "http://mywebsite.com/Home/MakeOrder";
$.ajax({
type: "POST",
dataType: "json",
url: url,
data: JSON.stringify(jsonData),
contentType: "application/json",
success: function(result) {
}
});
});
采取以下行动:
[HttpPost]
public PartialViewResult MakeOrder(string jsonData)
{
// some actions
return this.PartialView("_Summary", summaryModel);
}
模型:
public class OrderItem
{
public DateTime? ScheduleDate {get;set;}
public string UnitNumber {get;set;}
public float Length {get;set;}
}
jsonData 参数值始终为空。
当我把它变成通过
var url = "http://mywebsite.com/Home/MakeOrder/?jsonData=" + jsonData
然后参数作为json字符串很好。
我需要通过邮寄方式发送。
编辑 ***** JS 值
我在 Chrome 中调试,传递给“ajax 数据:”的 jsonData 是
JSON.stringify(jsonData)
给
jsonData={"ScheduleDateTime":"20/07/2015 17:00","UnitNumber":"425196","Length":0.00}
如果通过非字符串化是:
jsonData = Object {"ScheduleDateTime":"20/07/2015 17:00","UnitNumber":"425196","Length":0.00}