我有一個腳本,下面,當頁面加載我得到一個錯誤消息:Cannot read property 'length' of undefined
,所以我研究了錯誤,發現AJAX請求沒有執行。如果我在瀏覽器控制檯中執行相同的代碼,該腳本可以正常工作。我的代碼有什麼問題?當頁面加載時未定義ajax響應
<script>
function getCitiesList() {
var country_id = '189';
return $.ajax({
type: 'get',//тип запроса: get,post либо head
url: '/countries/' + country_id + '/cities' + "&authenticity_token=" + AUTH_TOKEN,
});
}
function getCitiesList2() {
var bla = getCitiesList();
console.log(bla['responseJSON']);
var i = 0;
var data = [];
while (i < bla['responseJSON'].length) {
data[i] = {};
data[i]['id'] = bla['responseJSON'][i]['id'];
data[i]['text'] = bla['responseJSON'][i]['title'];
i++;
}
console.log(data);
}
$('#city').select2({
data: getCitiesList2(),
width: "100%"
});
</script>
它-console.log(BLA [ 'responseJSON']),我認爲你的反應出現得較晚,在getCitiesList2()的代碼執行第一(無反應) – urvashi
打印什麼'AUTH_TOKEN'之後是否有一個尾隨的逗號?在'url:'/ countries /'+ country_id +'/ cities'+「&authenticity_token =」+ AUTH_TOKEN,'。 –