无法使用jQuery AJAX返回响应数据

时间:2015-05-06 17:24:42

标签: javascript jquery ajax

我正在使用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 - 我试图使用带参数的函数来返回响应。它工作得很好,但这根本不是我想要的。

1 个答案:

答案 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;
&#13;
&#13;

请参阅.then()