我幾乎整天都在看這個問題,我不知道爲什麼它不工作。我有以下的控制器動作
public JsonResult GetSubCategory(int category) {
//var subCat = db.categories.Where(c => c.parentID == category).Select(c => new {c.ID, c.codeDesc}).ToList();
var subCat = from c in db.categories
where c.parentID == category
select new
{
ID = c.ID,
codeDesc = c.codeDesc
};
return Json(subCat);
}
我在查看文件
$("#catList").change(function() {
alert("In the change event. cat val is " + $("#catList").val());
var category = $("#catList").val()
$.getJSON("/Issues/Search/GetSubCategory", { 'category': category },
function (data) {
alert("in the func");
$("#subCatList").options.length = 0;
$(data).each(function() {
$("<option>").val(this.ID).text(this.codeDesc).appendTo("#subCatList");
});
});
});
以下jQuery的方法至少,我只是想顯示警告信息,但它似乎沒有不被顯示。我已經嘗試了兩種構建subCat對象的方法,就像你在上面的控制器代碼中看到的一樣。調試顯示數據正在使用ID和codeDesc字段和值生成,但View端沒有任何事情發生。請有人幫忙弄清楚我做錯了什麼?
謝謝
Sods law !!!!在發佈此消息後2秒,我發現在發回Json數據時必須使用POST的信息。所以我改變了上面的調用以使用.ajax()類型設置爲POST,它的工作。呼! – SimpleUser
你可以回答你自己的問題,並接受答案(等待一段時間後),所以這個問題可以認爲是治療 – JMax
很高興它被排序 - 但你實際上不必使用POST。您可以允許使用GET請求調用JsonResult:'return Json(subcat,JsonRequestBehavior.AllowGet)' –