XMLHTTP默认不是以异步方式调用吗,浏览器不会无响应的。
xmlhttp.Open("get", "url", false)//第三个参数为false时才是同步,这时浏览器会无响应,改为true或省略,不会无响应你可以使用相对路径也可以使用带有协议头的全路径。 要注意的一点是js不支持跨域调用,即不能使用超出该页面所在域的范围。如:xmlhttp.open('GET','test/test.php')
xmlhttp.open('GET','http://localhost/test.php')
js读取xml文件跨域 问题,可以使用以下几种方法:
1 通过jsonp跨域 : 在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的。但是,在页面上引入不同域上的js脚本文件却是可以的,jsonp正是利用这个特性来实现的。代码如下:
2 通过修改document.domain来跨子域:有一个页面,它的地址是http://www.example.com/a.html , 在这个页面里面有一个iframe,它的src是http://example.com/b.html, 很显然,这个页面与它里面的iframe框架是不同域的 ;document.domain就可以派上用场了,我们只要把http://www.example.com/a.html 和 http://example.com/b.html这两个页面的document.domain都设成相同的域名就可以了
3 使用window.name来进行跨域 : 每个页面对window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面