每當我發送'GET'
與JSON.stringify()
使用AJAX,模型值總是接受null; 爲什麼只能綁定'POST'
? 如果可能,我可以使用'GET'
並仍然將數據綁定到模型上?爲什麼ASP MVC模型綁定器只接受POST中的JSON?
編輯:添加代碼示例
JS:
$.ajax({
var modelsend = {
itemname: 'shoe',
itemcolor: 'red',
itemsize: '31',
itemvariety: 'SR-31',
}
type: "POST",
url: "@Url.Action("ShowData", "Controller")",
data: JSON.stringify(modelsend),
dataType: "json",
contentType: "application/json",
success: function (data) {
//do something with data
},
error: function (jqXHR, textStatus, errorThrown) {
//show error
}
});
型號:
public class shoemodel
{
public string itemname { get; set; }
public string itemcolor { get; set; }
public string itemsize { get; set; }
public string itemvariety { get; set; }
}
控制器:
public ActionResult ShowData(shoemodel get)
{
List<DataGrid> fetch = func.getdata(get);
return Json(fetch);
}
是的,這是可能的。用模型 –
顯示你的ajax調用和控制器我假設你也設置'contentType:'json' - GET沒有正文。只要數據構造正確,你可以很好地綁定到GET方法 –
是的,我的ajax使用contentType:「application/json」。好的,所以GET只發送沒有任何數據的網址,但POST發送的格式爲JSON。每當我發送GET時,body都是空的,我總是得到null,不是嗎?如果我發送GET,我的contentType無關緊要,因爲我不發送「內容」。 – KokoriNut