我正面臨AJAX代碼的一些問題。我正在爲我們的項目使用MVC3。我的要求是頁面加載時使用AJAX綁定下拉值。加載頁面時會發生什麼,AJAX請求會正確發送到控制器,並返回到AJAX函數並在下拉列表中綁定確切的值。但有時(頁面刷新或第一次加載時)其未綁定檢索值。而是顯示其默認值。請看我的代碼,並建議我在哪裏做錯了。這個JQuery AJAX代碼有什麼問題
編輯:即使我試圖使用async屬性爲false。它根本沒有發送到控制器獲取數據的操作方法。
代碼
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: '@Url.Action("GetUser", "Invoices")',
data: "{'id':" + JSON.stringify(currval) + "}",
dataType: "json",
async: true,
success: function (data) {
$("#User-" + curr).select2("data", { id: data.Value, Name: data.Text });
$(this).val(data.Value);
}
});
感謝,
我相信,但事實並非'this'上下文綁定到成功函數中的'xhr'對象? – shakib 2013-05-08 13:26:53
在發送ajax請求之前是否在等待document.ready事件觸發?如果你不是,那麼你完全有可能遇到ajax請求在DOM準備好之前完成的競爭條件,並且沒有要綁定數據的元素。 – rossisdead 2013-05-08 15:38:15