Javascript Ajax跨域半工作(xhr)

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

我使用xhr对象从mapquest开放API(命名和方向)获取信息

我的问题是,它适用于Namingm服务,而不适用于方向(使用Firefox上一版本测试)。我的readystate为4,但状态为0,并且从未更改

这是我的密码:

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论坛中提到的那样