Ama*_*r S 16 jquery load external
我无法将外部html页面加载到页面中的div中.
我的Jquery代码是:
$(document).ready(function(){
var url = 'http://www.google.com';
$.get(url, function(response) {
$('div#external').html(response);
});
});
Run Code Online (Sandbox Code Playgroud)
我的HTML页面是
<html><body><div id="external"></div></body></html>
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用另一个JQuery代码
$(document).ready(function() {
$('#external').load('http://google.com');
});
Run Code Online (Sandbox Code Playgroud)
有谁可以帮助我.
谢谢Amal
Dav*_*ing 16
由于浏览器的限制,大多数Ajax请求都受"同源策略"的约束.这意味着在大多数情况下,您无法使用jQuerys ajax方法从外部域获取数据,而无需使用Proxy,YQL,JSONP或等效技术来解决此问题.
纯javascript选项是Yahoo的YQL服务.有一个插件扩展jQuery.ajax到允许外部域:https://github.com/padolsey/jQuery-Plugins/blob/master/cross-domain-ajax/jquery.xdomainajax.js
使用此插件应该允许您的问题中的ajax示例.
另一种选择是使用服务器端代理,然后使用ajax请求该页面.如果您的服务器可以运行PHP,请尝试使用Google搜索"php ajax proxy"之类的内容,您将获得大量结果.
首先下载JS文件https://github.com/padolsey/jQuery-Plugins/blob/master/cross-domain-ajax/jquery.xdomainajax.js 并在页面中包含js文件.下面是我用来加载外部页面的功能.
function test () {
$.ajax({
url: 'http://external_site.com',
type: 'GET',
success: function(res) {
var content = $(res.responseText).text();
alert(content);
}
});
}
Run Code Online (Sandbox Code Playgroud)
这对我来说是从外部网站获取内容的.
| 归档时间: |
|
| 查看次数: |
46684 次 |
| 最近记录: |