- 注册时间
- 2010-11-11
- 最后登录
- 2025-5-27
- 阅读权限
- 200
- 积分
- 14361
- 精华
- 2
- 帖子
- 843
  

TA的每日心情 | 无聊 2025-5-27 03:37:20 |
---|
签到天数: 366 天 [LV.9]以坛为家II
我玩的应用:
  
|
在学《AJAX and PHP》的过程中,用XMLHttpRequest就是获得不到responseXML值,但可以获得responseText值。在地址栏中直接打开目标响应的PHP文件,文件代码如下:
<?php
@header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
echo '<response>';
$name = $_GET['name'];
$userNames = array('CRISTIAN','BOGDAN','FILIP','MIHAI','YODA','你好');
if(in_array(strtoupper($name),$userNames))
echo 'Hello,master ' . urldecode($name) . '!';
else if(trim($name)=='')
echo 'Stranger,please tell me your name!';
else
echo urldecode($name) . ',T don\'t know you!';
echo '</response>';
?>
发现浏览器用HTML的形式显示文件的,但应该是用XML的形式显示此文件的。忽然记得以前好像也发生过类似的错误,解决方法是把PHP文件保存成无BOM的UTF8格式的,修改后果然都正常了!
上网查了一下,如果把PHP保存成带有BOM的UTF8文件,会因为编码方式对于BOM不是强制的而出现不同的处理方式,所以最好把文件保存成无BOM的UTF8格式的。而目前windows系统中对于保存文件的处理方式默认情况下都会加上BOM,可以使用些高级编辑器修改文件,如UltraEdit、SciTE等。
在用php输出xml时一定要注意,一定要先输出这句
header('Content-Type: text/xml');
不然ie里面没事,firefox会不识别xml格式!
嗯!真的!!!
|
|