Javascript-如何访问成功块之外的对象
我需要在AJAX修改后访问一个对象,但当我试图打印它时,它会显示一个空值 我怎样才能解决这个问题Javascript-如何访问成功块之外的对象,javascript,arrays,ajax,object,Javascript,Arrays,Ajax,Object,我需要在AJAX修改后访问一个对象,但当我试图打印它时,它会显示一个空值 我怎样才能解决这个问题 $(document).ready(function(){ var arrayLength = whatever...; var myArray = []; for (var i = 0; i < arrayLength; i++) { $.ajax({ myArray: myArray, type: 'GET'
$(document).ready(function(){
var arrayLength = whatever...;
var myArray = [];
for (var i = 0; i < arrayLength; i++) {
$.ajax({
myArray: myArray,
type: 'GET',
dataType: 'jsonp',
data: {},
url: "https://api....",
error: function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR)
},
success: function (response) {
var name = response.data.name;
var url = response.data.url;
for(var x = 0; x < 5; x++) {
var pin = {name: name, url:url};
myArray.push(pin);
}
},
async: false
});
}
// I want to print myArray here
});
什么是myArray中的allPins push pin不在allPins和remove myArray中:myArray,myArray是如何使用的?看起来它没有被访问过all@RobH,他使用的是async:false,所以我不确定链接页面是否相关。将myArray属性添加到$.ajax参数对象的预期效果是什么?@ikegami-啊,是的,我下意识地说。我没看到它潜伏在底部!此时“myArray”不会仍然没有使用async:true填充吗?将async:false更改为async:true将导致打印速度过快。抱歉,这是一个输入错误!当我将async:false更改为async:true时,它仍然显示一个空数组
$(document).ready(function(){
var arrayLength = whatever...;
var myArray = [];
for (var i = 0; i < arrayLength; i++) {
$.ajax({
//myArray: myArray,
type: 'GET',
dataType: 'jsonp',
data: {},
url: "https://api....",
error: function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR)
},
success: function (response) {
var name = response.data.name;
var url = response.data.url;
for(var x = 0; x < 5; x++) {
var pin = {name: name, url:url};
//allPins.push(pin);
myArray.push(pin);
}
},
async: false
});
}
// I want to print myArray here
});