2017-04-03 64 views
0

我使用AJAX-Jquery文章來計算從A到B使用Google API獲取的時間。如何解決錯誤沒有'訪問控制允許起源'

,但我得到的錯誤「的XMLHttpRequest無法加載https://maps.googleapis.com/maps/api無‘訪問控制允許來源’標頭出現在所請求的資源。起源‘空’,因此是不允許訪問。

我讀過很多帖子並嘗試了幾種解決方案。他們都沒有工作。

  1. 在我的PHP頁面標題的不同變種

    header("Access-Control-Allow-Origin", "*"); 
    header('Access-Control-Allow-Credentials: true'); 
    
  2. 對矯正我的.htaccess文件:

    Header set Access-Control-Allow-Origin "*" 
    
  3. 安裝Chrome擴展Allow-Control-Allow-Origin

第三個選擇允許我測試我的代碼,但不是真正的解決方案。 有沒有人成功解決了這個問題?

+1

訪問控制允許來源標題必須設置在您的請求的響應。因此,由於https:// maps.googleapis.com/maps/api端點沒有設置它,因此無法以您嘗試的方式使用跨源AJAX請求它​​。 – CollinD

+0

我用[這裏] [1] 的解決方案,它的工作。 [1]:https://developers.google.com/maps/documentation/javascript/distancematrix – Eventful

回答

0

什麼你會需要的是

JSONP

JSONP或「JSON與填充」在JavaScript程序中使用Web瀏覽器中運行的從服務器在不同的域請求數據的通信技術,這是由於同源策略而被典型的Web瀏覽器禁止的東西。

在你的AJAX調用中的某個地方,你要確保dataSetjsonp

+0

我試過JSONP,但是我得到了這個錯誤「Uncaught SyntaxError:Unexpected token:」。 – Eventful

相關問題