2010-10-23 97 views
3

我正在尝试修复其他人写入的网站中的朋友的错误,并且遇到了这些错误之一的实际困难。有功能可以检查用户是否可以通过AJAX使用用户名,响应是XML。但是,返回的XML中有一个错误。返回的XML响应具有空白

XML Parsing Error: XML or text declaration not at start of entity Location: moz-nullprincipal:{17ec3adb-5ee9-437a-b047-8910f6faa55c} Line Number 2, Column 1: 

<?xml version="1.0" encoding="UTF-8"?><ajaxResponse><cunamemsg>1</cunamemsg></aj... 
^ 

当我看到实际的响应,它看起来像这样:

<?xml version="1.0" encoding="UTF-8"?><ajaxResponse><cunamemsg>1</cunamemsg></ajaxResponse> 

它的顶部有一个白线,我猜测是导致JS错误结合:

cunameresult.getElementsByTagName(

if(cunameresult.getElementsByTagName('cunamemsg').item(0).firstChild.data==0) 

说实话,我不知道还有什么要检查。我检查了每个引用任何空格的PHP脚本。

PHP通知可能会导致返回的XML有额外的行吗?有相当多的PHP通知和警告记录在同一个脚本中,但它们指的是未初始化的变量。

非常感谢您的帮助,以及寻找解决方案的方向。

+2

什么是生成XML的PHP​​源代码?你确定在'<?php'之前没有空行吗? – 2010-10-23 12:48:29

+0

我打算说是的,但我三口之后检查并找到一个需要的脚本后的空间。那浪费了一个小时!谢谢Pekka再次提示支票!也许你可以添加一个答案,所以我可以关闭这个问题! :) – Abs 2010-10-23 12:53:54

回答

6

确保您在打开<?php或包含的PHP脚本中的任何位置之前没有空白区域 - 它也可以在XML结果中看到。

+0

谢谢,这将节省一些时间,我敢肯定! – Abs 2010-10-25 16:38:30