我需要收到JSONP异步请求的值。当我分配"数据"到全局变量,我收到一个空对象。求你帮帮我。
现在,我的代码得到了
var url = "http://local/main/getEventData/" + event_id;
var script = document.createElement('script');
script.setAttribute('src', url);
document.getElementsByTagName('head')[0].appendChild(script);
var event_data = {};
function callback(data) {
event_data = data;
}
和JSONP
callback({name: 'John'})
PS请求绝对有效,我可以通过console.log(数据)显示数据变量
答案 0 :(得分:2)
当你得到数据时使用数据,而不是(正如我假设你现在正在尝试的那样),只要你被要求它。
function callback(data) {
event_data = data;
// Now you have the data, do something with it.
}
// Don't try to use event_data here. There's no way
// to know if the callback has fired yet
答案 1 :(得分:1)
你得到的东西会很好用。您只需要将代码(或调用函数或其他内容)置于“回调”函数中,以便在检索脚本之前代码不会运行。