开发者

Element loaded with ajax is empty

Here is an HTML page where I want to load an element with a php script using ajax.

<?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/开发者_Python百科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>

The loaded element is empty. It only has <html></html>. What error in the ajax code caused this?


maybe you need to make sure the status is 200 before assigning the src attribute to the response text


The problem was that the PHP was not returning a URL. So ajax could not assign anything to the src. See this question for the code that worked.

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜