javascript权限问题
function createXmlObj(){
var signatures = ["Msxml2.DOMDocument.5.0","Msxml2.DOMDocument.4.0","Msxml2.DOMDocument.3.0","Msxml2.DOMDocument","Microsoft.XmlDom"];
for(var i = 0;i<signatures.length;i++){
try{
var xmlDom = new ActiveXObject(signatures[i]);
}catch(e){
//忽略错误,继续测试下一个版本
}
}
return xmlDom.xml;
}
/*
创建XMLHttpRequest请求对象
*/
function createXMLhttp(){
var xmlhttp;
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
try{
xmlhttp = new XMLHttpRequest();
}catch(e){}
}
}
return xmlhttp;
}
function sendInfor(phe){
var XmlObj = createXmlObj();
//alert(XmlObj);
//根据不同的浏览器创建不同的XMLHttpRequest对象
var xmlhttp = createXMLhttp();
//alert(url);
//创建一个请求
xmlhttp.open("get","http://opendata.baidu.com/api.php?query="+phe.value+"&co=&resource_id=6004&t="+phe.value+"&ie=utf8&oe=gbk&cb=bd__cbs__xecpzm&format=json&tn=baidu",false);
//设置请求的HTTP头
//xmlhttp.setRequestHeader("Content-Type"," application/utf-8 ");
xmlhttp.setRequestHeader("Content-Type","application/json;charset=gbk");
xmlhttp.setRequestHeader("User-Agent","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; MDDC; .NET4.0C; .NET4.0E; 360SE)");
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4){
//alert("发送成功!");
}
}
//发送请求
xmlhttp.send();
var aa = xmlhttp.ResponseText;//得到后台传递过来的text文本信息
//var test =xmlhttp.responseStream;//得到后台传递过来的输入流信息--一般不用
var first;
var type;
if(aa.indexOf("prov"+'"'+":"+'"'+'"') == -1)
{
first=aa.indexOf("prov"+'"'+":"+'"');
type=aa.substring(first+7,first+10);
type=type.replace('"',"");
}
else
{
first=aa.indexOf("city"+'"'+":"+'"');
type=aa.substring(first+7,first+9);
}
first=aa.indexOf("type"+'"'+":"+'"');
var yun=aa.substring(first+9,first+11);
alert(type+yun);
alert(aa);
}
这
xmlhttp.open("get","http://opendata.baidu.com/api.php?query="+phe.value+"&co=&resource_id=6004&t="+phe.value+"&ie=utf8&oe=gbk&cb=bd__cbs__xecpzm&format=json&tn=baidu",false);
段代码报错权限问题,开发都没有问题。放到服务器 就报错。。
------解决方案--------------------
跨域了吧,你本地js能向百度发送http请求?
------解决方案--------------------
跨域问题,建议用JQUERY来做异步操作!
------解决方案--------------------
跨域了,客户端没权限
你可以在服务器端用个.net或php去提取baidu的内容,再用js提取服务器的内容
------解决方案--------------------