ajax请求出了有关问题,求解答
ajax请求出了问题,求解答
经过chrome调试后发现:
responseXML的值为NULL, 我觉得是PHP 造成这种错误的,访问的xml文件只有265KB,请求获取的XML 文件却显示有70MB。
以上问题该如何解决?
------解决思路----------------------
$contents += $contents.fgets($file);
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>1.0</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script type="text/javascript">
<!--
function readFile(file_name){
var request = null;
if(window.XMLHttpRequest){
request = new XMLHttpRequest();
}else if(window.ActiveXObject){
request = new ActiveXObject("Microsoft.XMLHTTP");
}
var the_url = "http://localhost/H1/readXML.php?fileName=" + file_name + "&t=" + new Date().getTime();
if(request){
request.open("GET", the_url, true);
request.onreadystatechange = function(){
if(request.readyState == 4){
if(request.status == 200){
displayResults(request.responseXML);
}
}
}
request.send(null);
}
}
function displayResults(the_xml){
var the_name = the_xml.getElementsByTagName("name")[0].firstChild.nodeValue;
var item_elements = the_xml.getElementsByTagName("items");
var the_item = null;
var the_number = "";
var the_contents = "";
var display_me = "<table>";
for(var loop=0; loop<item_elements.length; loop++){
the_item = item_elements[loop];
the_number = the_item.getElementsByTagName("number")[0].firstChild.nodeValue;
the_contents = the_item.getElementsByTagName("contents")[0].firstChild.nodeValue;
display_me += "<tr><td>" + the_number + "</td><td>" + the_contents + "</td></tr>";
}
display_me += "</table>";
document.getElementById("contents").innerHTML = display_me;
}
//-->
</script>
</head>
<body>
<input type="button" value="start"
onClick="readFile('wang.xml');" />
<div id="contents"></div>
</body>
</html>
<?php
$file_name = $_REQUEST['fileName'];
if(file_exists($file_name)){
header('Content-Type:text/xml');
header('Cache-Control:no-cache,no-store,max-age=0,must-revalidate');
$file = fopen($file_name, 'r');
$contents = "";
while(feof($file_name) == FALSE){
$contents = $contents.fgets($file);
}
fclose($file);
print_r($contents);
}
?>
经过chrome调试后发现:
responseXML的值为NULL, 我觉得是PHP 造成这种错误的,访问的xml文件只有265KB,请求获取的XML 文件却显示有70MB。
以上问题该如何解决?
------解决思路----------------------
$contents += $contents.fgets($file);
}