var questions = [];
$(document).ready(function() {
$.ajax({
type:"GET",
url:"question.xml",
dataType: "xml",
success: function(data) {
$(data).find('item').each(function() {
var question = $(this).find('question').text();
var answer = $(this).find('qid').text();
var opt1 = $(this).find('ans1').text();
var opt2 = $(this).find('ans2').text();
var opt3 = $(this).find('ans3').text();
var opt4 = $(this).find('ans4').text();
questions.push({'question':question, 'answer':answer, 'opt1':opt1, 'opt2':opt2, 'opt3':opt3, 'opt4':opt4});
});
alert(questions.length); // here it shows length as 20
}
});
alert(questions.length); // here it shows length as 0 });
我有一個數組聲明爲全局(問題),問題是當我訪問數組裏面有20個元素,但是當我嘗試訪問數組的長度變成0.全局變量不保留價值
有人可以解釋我做錯了什麼。
duplicate of http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-ajax-call – Paul
添加異步:false爲此工作:) – AdityaSaxena