我有两个功能。第一个设置一个变量,然后第二个获取第一个函数所需的信息。我首先遇到的问题是,在 ajax 响应发生之前,所有内容都已返回。基本上我需要做的是获取一个 JSON 对象并将其设置为一个变量,然后使用该对象的某些方面并将它们附加到项目中。这就是我所拥有的...
$(document).ready(function(){
$('#youtube-url').blur(function() {
$info = youtubeInfo($('#youtube-url').val());
console.log($info);
if($info.html){
//alert($info.thumbnail_url);
//$('#preview_video_thumb').attr('src', $info.thumbnail_url);
}
});
});
function youtubeInfo(url){
var odata = '';
var result = jQuery.ajax({
url: '<? echo base_url("videos/getOembed") ?>',
type: 'POST',
dataType: 'json',
async: false,
data: {url: url},
complete: function(xhr, textStatus) {
},
success: function(data, textStatus, xhr) {
return data;
},
error: function(xhr, textStatus, errorThrown) {
//called when there is an error
}
}).responseText;
return result;
};
如果我从成功回调中返回“数据”对象,它将返回空白。如果我这样做,AJAX 调用的 responseText 是一个字符串而不是 JSON。有任何想法吗?我基本上需要将第一个函数中的 $info 变量设置为第二个函数的 AJAX 响应(JSON)。