Javascript Ajax跨域半工作(xhr)
我使用xhr对象从mapquest开放API(命名和方向)获取信息 我的问题是,它适用于Namingm服务,而不适用于方向(使用Firefox上一版本测试)。我的readystate为4,但状态为0,并且从未更改 这是我的密码:Javascript Ajax跨域半工作(xhr),javascript,html,xmlhttprequest,openstreetmap,mapquest,Javascript,Html,Xmlhttprequest,Openstreetmap,Mapquest,我使用xhr对象从mapquest开放API(命名和方向)获取信息 我的问题是,它适用于Namingm服务,而不适用于方向(使用Firefox上一版本测试)。我的readystate为4,但状态为0,并且从未更改 这是我的密码: var xhr; try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { xhr = new ActiveXObject('Microsoft.XM
var xhr;
try
{
xhr = new ActiveXObject('Msxml2.XMLHTTP');
}
catch (e)
{
try
{
xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
catch (e2)
{
try
{
xhr = new XMLHttpRequest();
}
catch (e3)
{
xhr = false;
}
}
}
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4)
{
if(xhr.status == 200)
{
alert(xhr.responseText);
}
}
};
xhr.open("GET", "http://open.mapquestapi.com/directions/v1/route?format=json&routeType="+routeType+"&timeType=0&enhancedNarrative=false&shapeFormat=raw&generalize=200&locale=fr_FR&unit=k&from="+latitude+","+longitude+"&to="+json[0].lat+","+json[0].lng+"&narrativeType=none", true);
xhr.send(null);
URL中的所有参数都在上面的代码中定义
我只是不明白为什么它能工作(因为这些请求是跨域的,所以它不应该工作),为什么它能用于提名而不是方向
感谢Namingm支持(允许浏览器对Nomatim API进行跨域请求)。Mapquest没有,正如Mapquest论坛中提到的那样