用ajax加载的元素为空

时间:2011-07-07 17:04:54

标签: php ajax onload src

这是一个HTML页面,我想使用ajax加载带有php脚本的元素。

<?php require_once('connect.php'); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<?php require("pagetitle.php"); ?>

<!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame Remove this if you use the .htaccess -->
<!-- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> -->

<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.3/themes/base/jquery-ui.css" type="text/css" media="all" 

/>

<!-- Portal JavaScript -->
<script type="text/javascript" src="portal.js"></script>

<script type="text/javascript">
    var http = false;
    if(navigator.appName == "Microsoft Internet Explorer") {
      http = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
      http = new XMLHttpRequest();
    }
    function LoadCalendar() {
      http.abort();
      http.open("GET", "calendar/index.php?cP=2", true);
      http.onreadystatechange=function() {
        if(http.readyState == 4) {
          document.getElementById('litcal').src = http.responseText;
        }
      }
      http.send(null);
    }
</script>

</head>

<body onload="appendTitle('Calendar');">

<div id="content-body"><a name="top"></a>
  <h1>
    <iframe id="litcal" onload="LoadCalendar();" style="padding: 0px 0px 0px 0px; border: 1px solid #404040;" width="690px" 
height="691px"></iframe>
  </h1>  
</div> <!-- End CONTENT-BODY div -->

</body>
</html>

加载的元素为空。它只有<html></html>。 ajax代码中出现了什么错误?

2 个答案:

答案 0 :(得分:1)

在将src属性分配给响应文本

之前,您可能需要确保状态为200

答案 1 :(得分:0)

问题是PHP没有返回URL。所以ajax无法为src分配任何东西。有关可行的代码,请参阅此问题。

https://stackoverflow.com/questions/6612918/loading-an-iframe-with-ajax/6618656#6618656