通过$ajax加载整个页面时,里面的JS代码为什么不执行

JavaScript020

通过$ajax加载整个页面时,里面的JS代码为什么不执行,第1张

异常处理决定用js的alert?

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

客户端

x = xhr.responseText

if(x=="error") 信息alert("")

你返回alert也是可以的,但不能带<script>这些代码,返回

s = "alert('xx')"

你eval(s)即可

楼上说的那个是有一定道理的但是不全对

ajax的确是异步,但是,会造成数据丢失之类的状况基本全出在万恶的IE身上,在chrome以及FF等几乎没有见过。而且ajax是有属性可以设置强制同步的。

楼主试试break,不要忘了加代码段标识,像这样

$("#msg").append("start<br>")

loop:{

$("#msg").append("1<br>")

$("#msg").append("2<br>")

$("#msg").append("3<br>")

$("#msg").append("4<br>")

break loop

$("#msg").append("5<br>")

$("#msg").append("6<br>")

$("#msg").append("7<br>")

$("#msg").append("8<br>")

}

你的意思我明白,我的实现方式是这样的。

把b.asp的JS写在文件外面,独立出一个单独的js文件。然后写个函数比如

function test(){

var aa=document.getElementsByTagName('HEAD').item(0)

var nn=document.createElement("script")

nn.src="你的JS文件地址"

nn.type="text/javascript"

nn.charset="utf-8"

aa.appendChild(nn)

ajax代码

然后你执行下就成了,主要就是加入那段DOM操作。我测试好用,希望对你有帮助。