我在jQuery中有一个Ajax调用,它返回一串逗号分隔的单词。
现在我需要创建一个带有此字符串内容的索引数组,以便字符串中的每个单词都在数组中有一个数字。 稍后我需要使用此数组中的特定值,例如第3,第4和第5。
我尝试了以下操作,但在最后创建var时会返回undefined
如果我在成功函数中提醒myArray,我仍然会得到一个逗号分隔的字符串,所以我想我可能会错过索引部分?
有人可以告诉我这里的错误吗?
myArray = [],
myVar = 'someText';
$.ajax({
type: "post",
url: "ajax.php",
cache: "false",
data: {
node: 'fetchStuff',
languageFrm: languageFrm
},
success: function(data){
myArray = data.split(',');
},
error: function(){
}
});
myVar += myArray[2] + ' - ' + myArray[3] + ' - ' + myArray[4];
答案 0 :(得分:3)
Javascript是异步的。这意味着它可以转移到下一行代码,即使前一个代码还没有完成。您正在经历一场经典的比赛。在ajax调用成功之前,您无法创建myVar。尝试将myVar += myArray[2] + ' - ' + myArray[3] + ' - ' + myArray[4];
部分移动到成功功能中。