关于JS中跨域的问题
各位大神请留步,这个问题纠结两天了,关于跨域的问题,是从别的域中获取特定字段的值放到当前页面上显示。据说之前功能是好用的,但是现在不好用了。百度,论坛上各种相关问题都看过了但是还是无法解决,跪求高人指点。小弟感激不尽!!!
function openmap_onclick(){
callid2 = new Date().getTime()+ "" + Math.random();
var url = "${MapURL}UinchinaGpsDispatch?tempId=" + callid2;
url += "&compCde=P1012"; //公司代码
url += "&operateDept=P1012"; //机构代码
var address= document.getElementById("address").value;
url += "&serachAdd="; //“地址检索”功能中检索的地点
url +=address;
url += "&longitude=${prpLregist.longitude}"; //经度
url += "&latitude=${prpLregist.latitude}"; //维度
url = encodeURI(url);
window.showModalDialog(url,document,"dialogHeight:720px;dialogWidth:1015px;dialogTop=0,dialogLeft=0,status=yes,toolbar=no,menubar=no,location=no,scrollbars =yes");
getGpsDispatch();
}
// 调度返回接口函数
function getGpsDispatch(){
var url = "${MapURL}schedu.do?tempId="+escape(callid2)+"&mhd=getSchedu";
request=getXMLHttpObj();
alert("第一个输出点");
request.open("GET", url, true);
alert("第二个输出点");
request.onreadystatechange = rollback_dispatch();
alert("第三个输出点");
request.send(null);//发送请求
}
function getXMLHttpObj(){
var axO=['Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP'], i;
for(i=0;i<axO.length;i++){
try{
return new ActiveXObject(axO[i]);
}catch(e){}
if(typeof(XMLHttpRequest)!='undefined')
return new XMLHttpRequest();
return null;
}
}
// 根据接口返回值,在调度页面添加出险案件对应派工的查勘员
function rollback_dispatch(){
if (request.readyState == 4) {
if (request.status == 200) {
var s=request.responseText;
var disObj = eval("("+s+")");
if(disObj==null||disObj=="") return;
document.getElementById("scheculenameId").value=disObj.survNme;
document.getElementById("userCode").value=disObj.survId;
} else{
alert("system error,status is " + request.status);
}
}
}
如上段代码中getGpsDispatch()函数,可以输出第一个输出点,但是第二个就出不来了。说明request.open方法被干了。。。。${MapURL}的值是 http://www.bao16.com:5858/estargps/。用百度和126的域名可以打出第二个输出点。。。求助啊。。。是URL拼写方法出现什么问题了么?~~
------解决方案--------------------发送js 脚本方法。
------解决方案--------------------http://rubyer.me/blog/324/
可以尝试跨域方法1:使用jquery
------解决方案--------------------使用jauery可以省去很多麻烦,发送ajax时dateType指定成jsonp就可以了