我正在使用jQuery AJAX加载跨域html页面。
我的问题是返回或等于响应数据(目标的html代码)。
var html = "";
get("http://google.com");
function get( url ){
$.ajaxPrefilter( function (options) {
if (options.crossDomain && jQuery.support.cors) {
var http = (window.location.protocol === 'http:' ? 'http:' : 'https:');
options.url = http + '//cors-anywhere.herokuapp.com/' + options.url;
}
});
$.get(url,function (response) {
// Here is the problem
});
}
在 $。get()方法中,我试图:
html = result ;
return result ;
两次尝试均无效。
将响应数据'导出'到全局范围var有什么类似的方法吗?
P.S - 我试图使用带参数的函数来返回响应。它工作得很好,但这根本不是我想要的。
答案 0 :(得分:0)
尝试
// var html = "";
function get(url) {
$.ajaxPrefilter(function(options) {
if (options.crossDomain && jQuery.support.cors) {
var http = (window.location.protocol === "http:" ? "http:" : "https:");
options.url = http + "//cors-anywhere.herokuapp.com/" + options.url;
}
});
return $.get(url);
};
get("http://google.com")
.then(function success(response) {
// if request successful,
// do stuff with `response` from requested `url`
console.log(response)
}, function error(jqxhr, textStatus, errorThrown) {
// if error , log `textStatus` , `errorThrown`
console.log(textStatus, errorThrown)
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
&#13;
请参阅.then()