-3

这是我的主页

<html>

<head>
  <title></title>
  <style>
  #exp{
    height: 100%;
    width:100%;
    position: absolute;
    left:0;
    top:0;
    background:#00FF00;
  }

  </style>
  <script src="scripts/jquery.js"></script>
  <script>
  $(function(){
  $("#exp").load('aboutus.html');

  })
  </script>

</head>

<body>
<div id="exp">

</div>
</body>

</html>

我想从 aboutus.html 页面加载此内容该页面中的内容是

<div style="height:100%;width:100%;position:absolute;left:0px;top:0px">Hai</div>

我尝试了加载、获取、.html 等,但它们都没有工作。我不想包含 php

我试过的方法

$("#exp").load('aboutus.html');
$("#exp").get('aboutus.html');
$("#exp").html(url(aboutus.html'));
4

2 回答 2

0

最常见的失败原因是本地测试:如果您使用打开主文件,file://则另一个文件似乎来自另一个域并且操作被阻止。

.load 文档

补充说明:

由于浏览器安全限制,大部分“Ajax”请求都受同源策略的约束;请求无法从不同的域、子域或协议成功检索数据。

您必须使用 http 服务器来测试此页面。

除此之外,假设您有 jquery.js 文件,您的代码可以工作:在线测试

于 2013-05-13T16:53:31.653 回答
0

一种方法是使用 jquery 使用 AJAX 调用。

只需将您的 about 页面包装到 JSON 回调函数中即可。详情见下文

主页代码

<html>
<head>
<title></title>
<style>
#exp {
height: 100%;
width:100%;
position: absolute;
left:0;
top:0;
background:#00FF00;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
jQuery(function(){
jQuery.getJSON('about.php?callback=?',function(data){
if(data.status == 'success') {
        jQuery('#exp').html(data.html);
    }
});
})
</script>
</head>
<body>
<div id="exp"> </div>
</body>
</html>

关于.PHP页面

<?php
$html .=<<<HTML
    <div style="height:100%;width:100%;position:absolute;left:0px;top:0px">Hai</div>
HTML;
$strippedHTML = str_replace(array("\r\n", "\r", "\n", "\t"), ' ', $html);
echo $_GET['callback'] . '({"status":"success", "html":"' . addslashes(trim($strippedHTML)) . '"})';
?>
于 2013-05-13T17:07:17.363 回答