我有這樣的麻煩。我想在AJAX請求後將JSON對象從Controller返回給View。 JS代碼:將JSON對象傳遞到MVC中的視圖3
$.ajax(
{
url : '/Order/GetArticleForBasicPosition',
data : article,
type : 'POST',
success : function (data)
{
alert("yyyyyyy");
},
error:function (xhr, ajaxOptions, thrownError)
{
alert(xhr.status);
alert(thrownError);
}
});
器和控制器:
[HttpPost]
public JsonResult GetArticleForBasicPosition(string article)
{
Article articleInfo = _service.GetArticleForBasicPosition(article);
return Json(articleInfo);
}
我也得到500內部服務器錯誤。我正在調試控制器,我發現它得到正確的參數「文章」和服務方法返回正確的對象。我嘗試了GET和POST類型的請求。
其實,當我修改我的控制器:
[HttpPost]
public JsonResult GetArticleForBasicPosition(string article)
{
var articleInfo = new Article() {GoodsName = "ffff", GoodsPrice = 1234, CatalogueName = "uuuuuuui"};
return Json(articleInfo);
}
一切正常。
我建議,原因是我的對象大小(我使用EntityFramework和articleInfo有很多導航屬性),但沒有發現任何人寫了關於同樣的麻煩。
有沒有人知道這種麻煩的原因是什麼,如果是物體的大小,最好的解決方法是什麼?
謝謝。
可以üPLZ看看http://stackoverflow.com/questions/6410756/using-different-overload-of-datacontext-in-linq-to-sql –
+1解釋關於傳遞域的缺陷對象的意見。 –