我正在構建ASP.NET MVC 3應用程序,我試圖正確地將jQuery autocompletex合併到我的一個頁面中,以便用戶可以鍵入配料名稱或從下拉列表中選擇一個。jQuery自動填充'長度'爲空或不是對象
我得到這個錯誤:
Microsoft JScript runtime error: 'length' is null or not an object
和我的視圖代碼看起來是這樣的:
$("#ingredientid").autocomplete({
source: function (request, response) {
$.ajax({
url: '@Url.Action("AvailableIngredients", "Recipe")', type: "POST", dataType: "json",
data: { query: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item, value: item };
}))
}
})
},
minLength: 1
});
事情似乎在Firefox中正常工作,但IE 8是標準的瀏覽器內部使用。
附加:
我返回數據 - List<string>
像這樣:
public JsonResult AvailableIngredients()
{
...
return Json(allIngredients, JsonRequestBehavior.AllowGet);
}
想法?
一切看起來不錯,你有沒有在jsonlint.com驗證你的json響應?你將什麼內容類型返回給json?其他的東西可能會拋出這個錯誤? –
@KevinB - 不幸的是,我不能把這個盒子放在互聯網上去做 - 公司IP就可以了。我很確定這是因爲我沒有使用自動完成功能時出現這種錯誤。 – itsmatt