我用jquery异步输出php文件中echo出的html代码,火狐浏览器和谷歌浏览器不经过编译直接输出html源码? 20
我的部分代码:php文件中的输出:if($obj["发送者"]==$_SESSION[nick]){echo"<spanstyle='font-weight:700;fo...
我的部分代码:
php文件中的输出:
if($obj["发送者"] == $_SESSION[nick]) {
echo "<span style='font-weight:700;font-size:15px;color:blue;line-height:200%;'>".$obj["发送者"]."</span>";
}else{
echo "<span style='font-weight:700;font-size:15px;color:green;line-height:200%;'>".$obj["发送者"]."</span>";
}
if(session_id() != $obj["会话id"]) {
echo "<span style='font-size:14px;color:#ACACAC;line-height:150%;'>"."(".$obj["发送时间"].":)</span>";
echo "<br />";
echo "<span style='font-size:14px;color:#ACACAC;line-height:150%;'>"." ".$obj["发送内容"]."</span>";
echo "<br />";
});
}else {
echo "<span style='font-size:14px;color:#000000;line-height:150%;'>"."(".$obj["发送时间"].":)</span>";
echo "<br />";
echo "<span style='font-size:14px;color:#000000;line-height:150%;'>"." ".$obj["发送内容"]."</span>";
echo "<br />";
}
js文件中的代码:
$.get("operateDialog1.php",{sendcontent:$("#eenter").val(),sendtime:$("#sendtime").val(),sendip:$("#sendip").val(),sessionid:$("#sessionid").val(),sendto:$("#sendto").val()},function(data){
$("#sshow").html($.trim(data));
以上代码在IE和360浏览器中都能正常显示,可是在火狐浏览器和谷歌浏览器中就直接把html源码显示出来了,怎么解决?谢谢! 展开
php文件中的输出:
if($obj["发送者"] == $_SESSION[nick]) {
echo "<span style='font-weight:700;font-size:15px;color:blue;line-height:200%;'>".$obj["发送者"]."</span>";
}else{
echo "<span style='font-weight:700;font-size:15px;color:green;line-height:200%;'>".$obj["发送者"]."</span>";
}
if(session_id() != $obj["会话id"]) {
echo "<span style='font-size:14px;color:#ACACAC;line-height:150%;'>"."(".$obj["发送时间"].":)</span>";
echo "<br />";
echo "<span style='font-size:14px;color:#ACACAC;line-height:150%;'>"." ".$obj["发送内容"]."</span>";
echo "<br />";
});
}else {
echo "<span style='font-size:14px;color:#000000;line-height:150%;'>"."(".$obj["发送时间"].":)</span>";
echo "<br />";
echo "<span style='font-size:14px;color:#000000;line-height:150%;'>"." ".$obj["发送内容"]."</span>";
echo "<br />";
}
js文件中的代码:
$.get("operateDialog1.php",{sendcontent:$("#eenter").val(),sendtime:$("#sendtime").val(),sendip:$("#sendip").val(),sessionid:$("#sessionid").val(),sendto:$("#sendto").val()},function(data){
$("#sshow").html($.trim(data));
以上代码在IE和360浏览器中都能正常显示,可是在火狐浏览器和谷歌浏览器中就直接把html源码显示出来了,怎么解决?谢谢! 展开
2个回答
更多追问追答
追问
不好意思,“<<< eof"是什么意思啊?
追答
http://admin3980.blog.163.com/blog/static/12894932012101514139742/
你可以看一下这个,应该就明白了,里面有例子的
展开全部
尊敬的用户,您好!很高兴为您答疑。
出现此问题是因为您这种异步是把动态代码作为变量向后台传递,而火狐当作一般字符转义了,故被服务器端接收到不会作为动态代码执行。实际上您这种需求的echo和js混排的方式无论执行效率还是安全性都非常差,极易出现注入的漏洞。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
出现此问题是因为您这种异步是把动态代码作为变量向后台传递,而火狐当作一般字符转义了,故被服务器端接收到不会作为动态代码执行。实际上您这种需求的echo和js混排的方式无论执行效率还是安全性都非常差,极易出现注入的漏洞。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
追问
那应该怎么写这部分的代码呢?我的代码IE浏览器、360浏览器、QQ浏览器中浏览一切正常,就是谷歌、淘宝和火狐浏览器不行。有没有一个简单易懂的代码?请指教!
追答
配上转译字符。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询