JS有没有线程执行? 当我执行JS XMLHTTP对象浏览器未响应

JavaScript08

JS有没有线程执行? 当我执行JS XMLHTTP对象浏览器未响应,第1张

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是持久存在一个窗口载入过的所有页面