Ajax技术不能实现跨域工作,可以通过使用动态script标签来实现跨越调用。
创建一个新的script标签,并插入DOM中,浏览器会像载入页面本身的script标签一样载入和运行插入标签的源文件。新script标签的源文件包含了一个页面本身已存在的一个JavaScript函数的调用,当执行这个源文件时,也会执行已存在的函数,这一过程定义了一个回调函数的方法。
如下程序段:
function test() {
var scriptTag = document.createElement("script");
scriptTag.src = "src/**.js";
var headTag = document.getElementsByTagName("head").item(0);
headTag.appendChild(scriptTag);
}
当调用test()函数时,会在head部分创建一个新的script标签,属性可以是一个本地文件,也可以是个远程的文件,浏览器会执行这个文件,而这个文件包含一个已存在的函数的调用,会调用这个函数执行,这样就完成了动态script标签的使用,使用他可以进行跨域调用。