我目前正試圖返回一個數據庫調用來填充下拉框。但是,當我循環返回列表時,出現「回調未定義」錯誤。我已經嘗試了這種代碼兩種方式,都沒有工作。ajax「回調未定義」錯誤
我已經試過:
$('#Vehicle_KovId_value').change(function() {
var kovID = $(this).val();
var drop2 = $('#Vehicle_BodyStyle_value');
if (kovID != null && kovID != '') {
drop2.get(0).options.length = 0;
drop2.get(0).options[0] = new Option('Please Select One', '-1');
$.ajax({
type: "GET",
url: '/Ajax/Index',
async: false,
data: { KovID: kovID },
contentType: "application/object; charset=utf-8",
success: function (record) {
drop2.get(0).options.length = 0;
drop2.get(0).options[0] = new Option("Please Select One", "-1");
$.each(function (index, item) {
drop2.get(0).options[drop2.get(0).options.length] = new Option(item.Display, item.Value);
});
},
error: function() {
$('#Vehicle_BodyStyle_value').get(0).options.length = 0;
$('#Vehicle_BodyStyle_value').get(0).options[0] = new Option("Error!", "-1");
alert("Failed to load styles");
}
});
}
});
我也試過:
$('#Vehicle_KovId_value').change(function() {
var kovID = $(this).val();
var drop2 = $('#Vehicle_BodyStyle_value');
if (kovID != null && kovID != '') {
drop2.get(0).options.length = 0;
drop2.get(0).options[0] = new Option('Please Select One', '-1');
$.ajax({
type: "GET",
url: '/Ajax/Index',
async: false,
data: { KovID: kovID },
contentType: "application/object; charset=utf-8",
success: function (record) {
drop2.get(0).options.length = 0;
drop2.get(0).options[0] = new Option("Please Select One", "-1");
fillBStyles(record);
// $.each(function (index, item) {
// drop2.get(0).options[drop2.get(0).options.length] = new Option(item.Display, item.Value);
// });
},
error: function() {
$('#Vehicle_BodyStyle_value').get(0).options.length = 0;
$('#Vehicle_BodyStyle_value').get(0).options[0] = new Option("Error!", "-1");
alert("Failed to load styles");
}
});
}
});
function fillBStyles(r) {
var drop2 = $('#Vehicle_BodyStyle_value');
$.each(function (index, item) {
drop2.get(0).options[drop2.get(0).options.length] = new Option(item.Display, item.Value);
});
}
這兩者給我的錯誤:
TypeError: callback is undefined
返回的數據對象, record
,是我必須從中拉出兩塊的數據庫對象的列表。
我該如何解決這個「回調」錯誤,以便我可以在我的函數中使用我的數據?
特別是你在哪裏得到這個錯誤?如果它在JavaScript控制檯中,那麼錯誤引用是什麼?如果它來自服務器,那麼它在服務器端代碼中,並且與此無關。 – David
我使用Firebug來調試javascript部分。它告訴我錯誤在'jquery-1.7.js(line 654)',它讀取'if(callback.call(object [name],name,object [name])=== false){' '如果'是真的。 – Kendra
您可能錯誤地使用了jQuery函數,或者將未定義的值作爲回調函數傳遞給它。如果在調試器中逐步完成此操作,那麼在jQuery拋出該錯誤之前,代碼的距離有多遠? – David