2010-02-06 98 views
1

从这个线程继:Another IE jQuery AJAX/post problem(请读线程,了解此一)AJAX UPDATE + PHP + IE =失败?

现在我已经得到了线程的解决方案上面。但是,在ok.php(该站点时更新每个10秒,用AJAX脚本)在IE中不显示响应是否包含HTML代码。随着我的意思是,如果我有: (ok.php)

<?php 
ob_start(); 
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
header('Content-type: text/html; charset=utf-8'); 
ob_flush(); 
echo "hello"; 
?> 

它将在IE和FF工作...但是,如果我有: (在ok.php)

<?php 
ob_start(); 
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
header('Content-type: text/html; charset=utf-8'); 
ob_flush(); 
include "../tilslut.php"; 
$sql = "SELECT id FROM member_comments WHERE fID = '19'"; 
$query = mysql_query($sql); 
$number = mysql_num_rows($query); 
echo("There is <b>".$number."</b> comments!<br><br>"); 
?> 

它只会在Firefox中工作/显示,而不是在IE中。

帮帮我! :(通过获取Fiddler2插件的IE浏览器,可以让你检查你的HTTP流量预先感谢您。

+0

什么呢../tilslut.php包含哪些内容?它看起来像你的回应是不是一个真正的HTML页面(没有HTML,头,身体标签) – scunliffe 2010-02-06 12:45:02

+0

我想这是正常的,因为返回的HTML然后通过jQuery添加到一个div。 @scunliffe - 请参阅前一篇文章。 – mauris 2010-02-06 12:55:03

+0

tilslut.php就像一个config.php连接到数据库。 – Karem 2010-02-06 13:03:30

回答

1

也许路径尝试使用include(dirname(__ FILE __)。'/ ../tilslut.php')。这应该会引发你的错误,但最好这样做。尽量把ajax_update在这样的脚本:

<script> 
jQuery(document).ready(function(){ajax_update();}); 
</script> 

,而不是在onload

0

开始。

这样,您就可以验证您是sending正确的请求和returning正确的回应

也验证使用视图源或IE开发人员的工具,你没有得到内容回好,但不知何故IE没有显示它(例如它是在源,但不可见)

例如,如果你想设置你的返回HTML作为表或选择列表的内容......这会在IE中失败。