簡體   English   中英

Ajax跨域半工作(xhr)

[英]Ajax Cross-domain half working (xhr)

我使用xhr對象從mapquest開放的API獲取信息(命題和方向)。

我的問題是,它適用於Nominatim服務,而不適用於Directions(已在Firefox的最新版本中進行測試)。 我的就緒狀態為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中的所有參數均在代碼上方定義。

我只是不明白它為什么起作用(因為這些請求是跨域的,所以它不應該起作用),以及為什么它對nominatim而不對方向有效!

謝謝

Nominatim支持CORS (允許瀏覽器對Nomatim API進行跨域請求)。 正如mapquest論壇上的此評論所暗示的那樣,Mapquest並非如此

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM