如果我执行以下操作,它会在console.log中为我提供我想要的值。
var q;
$.get('/ajax_subscribers', { code: 'qyhskkcnd'},
function(returnedData){
q = returnedData;
console.log(q);
});
但如果我这样做
var q;
$.get('/ajax_subscribers', { code: 'qyhskkcnd'},
function(returnedData){
q = returnedData;
});
console.log(q);
q
没有值,是未定义的值?为什么我不能将returnedData
设为公开?
答案 0 :(得分:0)
$.get
是异步的。您在ajax能够完成之前记录。换句话说,一旦$.get
收到服务的响应,var q将只有值。
您应该在回调函数中处理returnedData。如果太复杂,可以委托另一个函数,例如:
$.get('/ajax_subscribers', { code: 'qyhskkcnd'},
function(returnedData){
doStuffWithReturnedData(returnedData);
});
答案 1 :(得分:-1)
您的$.get()
是异步的。
要解决此问题,请尝试设置Promise。