我試圖做一個控制器方法的AJAX調用參數是null無論我嘗試。我遵循了所有類似的SO帖子,但無濟於事。對不起,如果答案在那裏,我無法找到它。該代碼我是...Ajax調用控制器方法沒有傳遞參數
Ajax調用
var sguid = $(nTr).attr('id');
$.ajax({
url: "/Dashboard/Reporting/GetBlacklistedSoftwareItems",
type: 'POST',
dataType: 'json',
data: JSON.stringify({guid: sguid}),
statusCode: {
404: function() {
alert("page not found");
}
},
success: function (data) {
//DO Something
},
error: function() {
alert("error");
}
});
控制器方法
public JsonResult GetBlacklistedSoftwareItems(string guid)
{
List<DeviceSoftware> ldevice = new List<DeviceSoftware>();
Guid i = Guid.Parse(guid);
ReportMethods reportingMethods = new ReportMethods();
ldevice = reportingMethods.GetNonCompliantApplicationReport(CompanyId);
DeviceSoftware ds = ldevice.Find(x => x.Device.Guid == i);
List<DeviceApplication> da = new List<DeviceApplication>();
if (ds != null)
{
da = ds.DeviceApplications;
}
return Json(da, JsonRequestBehavior.AllowGet);
}
的方法被擊中它只是常是null
。 sguid
確實持有我想傳遞的數據。 有人能告訴我我缺少什麼嗎?
在你的$ .Ajax()調用中添加contentType:「application/json; charset = utf-8」,然後它會解決 – Desmond