我试图在 JSON 查询之外获取一个变量但没有成功:
$(document).ready(function(){
$.getJSON("https://gdata.youtube.com/feeds/api/users/diasporaduo/uploads?v=2&alt=jsonc",function(json){
videoid = json.data.items[0].id;
});
alert(videoid)
});
我试图在 JSON 查询之外获取一个变量但没有成功:
$(document).ready(function(){
$.getJSON("https://gdata.youtube.com/feeds/api/users/diasporaduo/uploads?v=2&alt=jsonc",function(json){
videoid = json.data.items[0].id;
});
alert(videoid)
});
您可以使用异步标志:
异步(默认值:true)
类型:Boolean 默认情况下,所有请求都是异步发送的(即默认设置为true)。如果您需要同步请求,请将此选项设置为 false。跨域请求和 dataType: "jsonp" 请求不支持同步操作。请注意,同步请求可能会暂时锁定浏览器,从而在请求处于活动状态时禁用任何操作。从 jQuery 1.8 开始,不推荐在 jqXHR ($.Deferred) 中使用 async: false ;您必须使用成功/错误/完成回调选项而不是 jqXHR 对象的相应方法,例如 jqXHR.done() 或已弃用的 jqXHR.success()。
您的代码示例是:
var videoid;
$.ajax({
url: 'https://gdata.youtube.com/feeds/api/users/diasporaduo/uploads?v=2&alt=jsonc',
type: 'GET',
async: false,
success: function (json) {
videoid = json.data.items[0].id;
}
});
alert(videoid);
提琴手:http: //jsfiddle.net/5hE7n/