document.getElementById(obj1).innerHTML=xmlhttp.responseText; ajax显示出内容 但是如果是js代码 就显示不出来了? 怎么办?

bcc1o 2007-11-29 02:31:22
document.getElementById(obj1).innerHTML=xmlhttp.responseText;
我在obj1输出ajax返回的内容
譬如我登陆 提交了帐号密码 在php页面判断 如果正确 echo "ok";
那么document.getElementById(obj1).innerHTML=xmlhttp.responseText; 就对了 在obj1输出 ok
如果我是要用js来提示 如echo "<script>alert('1')</script>";
那么这时候obj1不显示内容了 也不把这段代码作为js来执行
请问该怎么办 我要的效果就是要把它当作js来执行
...全文
856 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你可以输出xml代码格式,然后其中一个节点来设置这是文本或者是js代码.

使用xml作为信息载体可以防止中文出现乱码

<?xml version='1.0' encoding='gb2312'?>
<infobody>
<infotype>信息类型,例如1为文本,2为js代码</infotype>
<info><![CDATA[信息体]]></info>
</infobody>
bcc1o 2007-11-29
  • 打赏
  • 举报
回复
if (!eval(xmlhttp.responseText)){
document.getElementById(obj1).innerHTML=xmlhttp.responseText;
}

bcc1o 2007-11-29
  • 打赏
  • 举报
回复
挖撒 高手啊 实现了 呵呵
xmlhttp.responseText
其实就是如下
a="alert('11')";
a 不执行
eval(a); 执行
alert('11'); 执行

不过这样 就有个问题了
document.getElementById(obj1).innerHTML=eval(xmlhttp.responseText);
如果它是个js语句 也会输出 然后再执行
等于得先判断 是js语句 执行
不是 输出?
是不
  • 打赏
  • 举报
回复
eval(xmlhttp.responseText)
bcc1o 2007-11-29
  • 打赏
  • 举报
回复
土办法就是 如果帐号登陆错了 echo "cuole"; 写js代码也不执行
在 document.getElementById(obj1).innerHTML=xmlhttp.responseText; 这句之前 先判断
xmlhttp.responseText是不是='cuole' 是写句js代码 但是不方便

52,785

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧