我从AJAX
源获取数据,然后将其分配给似乎不起作用的全局变量。有人可以指出我正确的方向吗?
var products = [];
var count = 0;
$.ajax(
{
url: 'url',
success: function(response)
{
prCallback(response);
},
dataType: 'jsonp'
});
function prCallback(response)
{
window.products = response;
}
console.log(products);
products
仍为空array
,尽管指定了值。
答案 0 :(得分:4)
您在回复之前正在记录。在回调中移动console.log。
ajax请求是异步的,这意味着在调用console.log时尚未返回。
答案 1 :(得分:-2)
将值分配给全局变量不是一个好主意。
然而,在console.log中,您拥有在顶部声明的变量产品。在回调中,您已将值赋值给窗口变量" products" - 不要在顶部声明变量。
您可以删除声明 - " var products = []"你应该在console.log中看到结果。但是以这种方式存储它们是一个坏主意。