+ -
当前位置:首页 → 问答吧 → 求助,ajax加载一个页面,这个页面中的js代码不执行解决方案

求助,ajax加载一个页面,这个页面中的js代码不执行解决方案

时间:2011-07-15

来源:互联网

如题,异常处理决定用js的alert,但这段代码是在页面中,这个页面是ajax加载的,所以这段代码不执行。百度谷歌很久,有说解决方案是用正则表达式取出被加载页面中的js代码在外面执行,但一直不成功,这问题纠结我2天了,有这方面经验的高人请指教!!

作者: magic_zj00   发布时间: 2011-07-15

异常处理决定用js的alert?

你不要返回js代码啊。在你的responseText中返回状态,如error

客户端

x = xhr.responseText
if(x=="error") 信息alert("")

作者: net_lover   发布时间: 2011-07-15

你返回alert也是可以的,但不能带<script>这些代码,返回
s = "alert('xx')"
你eval(s)即可

作者: net_lover   发布时间: 2011-07-15

ajax加载的页面会对数据库做一些处理,如果处理失败,就alert,所以......

作者: magic_zj00   发布时间: 2011-07-15

让innerHTML里的script跑起来

作者: showbo   发布时间: 2011-07-15

引用 4 楼 showbo 的回复:

让innerHTML里的script跑起来

对,我就是这个意思!!

作者: magic_zj00   发布时间: 2011-07-15

innerHTML里的script跑起来也不好使。

你处理多少无所谓,你只要返回来就可以 啊。最好的方法是json格式
{"status":"error","content":"数据库操作失败"}

ajax的结果就是
if(xhr.status==200 ...)
{
 //responseText内容为 {"status":"error","content":"数据库操作失败"}
 d = eval('(' + responseText + ')')
 if(d.status=="error") alert(d.content)
 if(d.status=="ok") alert(d.content)
 更多的内容都可以啊
}

作者: net_lover   发布时间: 2011-07-15