为什么ajax返回的是整个php代码而不是echo的内容

js代码functionhandleRtn(){if(xmlHttp.readyState==4){if(xmlHttp.status==200||xmlHttp.sta... js代码
function handleRtn(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status== 200 || xmlHttp.status==0){
var res = document.getElementById("list");
res.value = xmlHttp.responseText;
}
//alert(xmlHttp.readyState+"<>"+xmlHttp.status);
}
}
var xmlHttp = new XMLHttpRequest();
var url = encodeURI("phpinfo.php?test=1&?name=null");
xmlHttp.onreadystatechange = handleRtn;
xmlHttp.open("get",url);
xmlHttp.send();
<textarea class="" id="list" name="list" cols="70" rows="3" value=""></textarea>

php代码
<?php
$test = $_GET["test"];
if (strlen($q) > 0){
if($test == 1){
$name = $_GET["name"];
echo "name:".$name;
}
}
?>

最后id为“list”的textarea 里显示的是整个php代码,而不是我想要的echo 的内容
展开
 我来答
ai生火
推荐于2017-11-25 · TA获得超过5269个赞
知道大有可为答主
回答量:2109
采纳率:50%
帮助的人:1679万
展开全部
1、html文件要从localhost访问,不要双击打开
2、("phpinfo.php?test=1&?name=null") 多了一个?,取不到name值
3、js代码要用script标签包起来
4、$q要赋值,不然不走那个分支
5、改完以上问题后Apache下测试已通过,再有问题就是IIS的问题,百度“iis7解析漏洞”
追问
谢谢!问题解决了,就是你说的第一点,我浏览器的地址是本地路径,而不是虚拟路径,这样没有经过iis解析吧。
这里谢谢大家了!
miniappa9wsynzvb357n
2012-05-20 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:59.7万
展开全部
phpinfo.php?test=1&?name=null 估计你直接打开这个网页 也是php代码
更多追问追答
追问
那请问用js应该怎样做?
追答
应该说跟js没关,你是apache或者iis配置的问题 php没解析啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiehou_aj
2012-05-20 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:95
采纳率:100%
帮助的人:39.9万
展开全部
重装APACHE,你这个明显是不能解析PHP代码,应该是装APACHE的时候出现异常了吧
更多追问追答
追问
没用apache,用的windows 7的iis7。其它的访问虚拟目录没问题啊
追答
居然能直接访问PHP,这个问题就有点大条了啊。你在这里输出下:
if(xmlHttp.status== 200 || xmlHttp.status==0){
alert(xmlHttp.responseText)
var res = document.getElementById("list");
res.value = xmlHttp.responseText;
}
然后将phpinfo.php删除,然后重新建立新的phpinfo.php文件,在文件内容中直接。
看下结果然后告诉我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式