例子
ajaxPage("yy","http://static.111cn.net/js/jquery-1.8.0.min.js");
function ajaxPage(sId,url)
{
var oXmlHttp = getHttpRequest();
oXmlHttp.onreadystatechange = function()
{
//4代表数据发送完毕
if ( oXmlHttp.readyState == 4 )
{
//0为访问的本地,200代表访问服务器成功,304代表没做修改访问的是缓存
if(oXmlHttp.status == 200 || oXmlHttp.status == 0 || oXmlHttp.status == 304)
{
includeJS(sId,oXmlHttp.responseText);
}
}
}
oXmlHttp.open("GET",url,false);//true为异步加载(即在发送ajax的同时可运行其他代码)false为//同步加载(加载的同时不能执行其他代码);
oXmlHttp.send(null);
}
function getHttpRequest()
{
if(window.ActiveXObject)//IE
{
return new ActiveXObject("MsXml2.XmlHttp");
}
else if(window.XMLHttpRequest)//其他
{
return new XMLHttpRequest();
}
}
结果报错
已拦截跨源请求:同源策略禁止读取位于 http://static.111cn.net/js/jquery-1.8.0.min.js 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。
原因分析
上面的错误报告提示的非常的清楚就是不能通过ajax跨源请求所以可以直接调用本域下的内容或直接jsinclude的哦。
解决办法
ajaxPage("yy","http://static.111cn.net/js/jquery-1.8.0.min.js");
修改成
ajaxPage("yy","/js/jquery-1.8.0.min.js"); 即可解决
当然如果可以修改页面的直接加载<script language="javascript" src="js/v4/jquery.js"></script> 方式就没有问题了。