如何使用jQuery AJAX加载跨域html页面?

前端之家收集整理的这篇文章主要介绍了如何使用jQuery AJAX加载跨域html页面?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何使用jQuery AJAX加载跨域HTML页面

假设我想使用jQuery AJAX在我的域外获取一个页面

$.get('http://www.domain.com/mypage.html',function(data) {
  alert(data);
});

我可能会收到此错误消息:

XMLHttpRequest cannot load 07000. Origin
null is not allowed by Access-Control-Allow-Origin.

由于Same-origin policy,我们无法使用AJAX加载跨域页面.

我可以尝试使用’jsonp’来绕过这个限制:

$.ajax({
  type:     "GET",url:      url,dataType: "jsonp",success: function(data){
    console.log(data);
  }
});

但是如果这个网站不支持’jsonp’怎么办?这可能是个问题.

如果我只想阅读外部页面并解析其HTML,该怎么办?

解决方法

我知道这是一个老帖子.但是,我希望这会帮助那些正在寻找同样的人.

只是你不能. – 同源策略或您需要为www.domain.com设置CORS标头

但是,如果您只想向页面获取外部页面内容,则可以执行以下解决方法

在服务器中创建端点以返回给定外部URL的HTML内容. (因为您无法获取浏览器的外部内容 – 同源策略)

JS:

var encodedUrl = encodeURIComponent('http://www.domain.com/mypage.html');
$.get('http://www.yourdomain.com/getcontent?url=' + encodedUrl,function(data) {
    console.log(data);
});

Easiest way to read from a URL into a string in .NET – 可以使用它来创建/ getcontent端点

猜你在找的jQuery相关文章