XML cannot be the whole program
- 其他人看到过这个firebug错误?当通过ajax接收远程数据(json,原样)时发生。
如果数据类型已将 json 更改为 html ,则可以正常使用。
这是我在php中的实际代码:
一旦会话过期,我就重新加载了页面。
if($action->getRequest()->isXmlHttpRequest())
{
$action->getResponse()->setContent("<script>window.location.reload();</script>");
$action->getResponse()->send();
}
firebug显示以下错误:
XML不能是整个程序 [打破此错误] window.location.reload();
答案 0 :(得分:1)
您是否从Ajax调用中传递了正确的数据格式?错误说这与XML有关,但是你说你把它设置为JSON而不是XML。
答案 1 :(得分:0)
您发送的字符串"<script>window.location.reload();</script>"
不包含JSON / JS,而是HTML。因此客户端尝试将字符串解释为JSON / JS,但注意到整个脚本只是一个XML文字。
答案 2 :(得分:0)
以这种方式加载时无法使用标记。尝试加载Javascript语句而不使用加载文件中的标记。 e.g:
如果我动态加载它,此代码会生成相同的错误。
<?php
echo "<script type='text/javascript'>alert('Hi');</script>";
?>
此代码不会产生任何错误,而是像魅力一样:
<?php
echo "alert('Hi');";
?>
这应该会帮助你。