你不要返回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操作。我测试好用,希望对你有帮助。