ajax 返回值中包含的js失效问题

onray 2008-01-10 03:00:29
用ajax最简单的功能 用 document.getElementById(id).innerHTML = xmlHttpReq.responseText;
但是里面的js代码全部失效
网上也搜过不少资料,没有发现很好的解决方法~
希望大家帮个忙
...全文
234 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tjpulwy 2008-01-11
  • 打赏
  • 举报
回复
用execScript方法可以解决这样的问题
Go 旅城通票 2008-01-10
  • 打赏
  • 举报
回复
这样设置是执行不了返回值中的js脚本的,应该分析返回的数据,用正则把js提取出来,然后执行js或者创建js标签,参考下面的代码,返回的代码中只能有一个script段
<html>
<head></head>
<body>
<script>
function getFunction()
{
var str="abcdefg<script>function Test(){alert('hello');};Test();</"+"script>hijklmn";
var reg=/<script[^>]*>(.+)<\/script>/i;
var ms=str.match(reg);
var s;
if(ms!=null)
s=ms[1];
var st=document.createElement("script");
st.type="text/javascript";
st.text=s;
document.body.appendChild(st);
}
</script>
<input type="button" onclick="getFunction()" value="获取函数"/>
<input type="button" onclick="Test()" value="执行函数"/>
</body>
</html>
xiaolei1982 2008-01-10
  • 打赏
  • 举报
回复
ajax 返回值中包含的js失效问题
~~~~
哦,ajax返回来的是字符串肯定失效,
如果有js代码的话可以这样解决:
如:
if(X.readyState==4){

if(X.status==200){
eval(X.responseText) ;
}
xiaolei1982 2008-01-10
  • 打赏
  • 举报
回复
可否说的再具体些?哪里面的js代码?怎么实效

52,797

社区成员

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

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