我想在div标签中加载html页面

时间:2017-11-12 06:08:40

标签: javascript jquery load

 function secondCategory(i) {
      var liName = 's_li_' + i;
      $('#' + liName).click(function() {
        $('.article').load('http://google.com');
      });
    }
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

我喜欢在我的div标签文章中加载html页面。 但它发生了错误 &#34;无法加载网站地址&#39;:只有协议方案支持跨源请求:http,数据,Chrome,Chrome扩展,https。&#34;

[http://wedontknow.dothome.co.kr
./index.html
http://google.com][1]

我尝试过的网站上面发生了错误。 我怎样才能加载html页面?

2 个答案:

答案 0 :(得分:1)

除非您拥有外部网站,否则无法加载外部网站,因为您需要启用跨域资源共享

对于本地文件,发生此错误是因为您只是直接从浏览器打开html文档。要解决此问题,您需要从Web服务器提供代码并在localhost上访问它

答案 1 :(得分:0)

这实际上是一个服务器方面的问题。我完全避免.load();,因为它总是会引起CORs问题。我茫然地说:Enable CORs

然而,我的建议是将所有html代码作为字符串放在JS文件中。这不是优雅的,也可能是凌乱的,但此后它快速且容易移动。

var html = '<div id="div-id"><p>Hi there!</p></div>';

$('#target-div').html(html);

我总是如何做事,尽管你可能会开始得到一些可笑的长字符串。你可以像这样连接它们,这样更容易阅读:

var html = 
'<div id="wrapper">' +
    '<div id="inner">' +
        '<p>Hello!</p>' +
    '</div>' +
'</div>';

$('#target-div').html(html);

不是最漂亮的东西,但是我已经编写了这样的全套网络应用程序,它从来没有出现过安全问题(即COR),而且速度非常快。

将此方法用于多个服务器

假设您对其他服务器的响应有发言权,您可以随时提出好的帖子请求。

var postData = {
    optionalData: 1234
};

$.post('https://google.com', postData, function(res) {
    $('#target-div').html(res)
});