0

Google Maps Distance Matrix API に対して jQuery $.ajax 呼び出しを実行しようとしていますが、クロスドメイン セキュリティの問題により機能しません。

次の ajax 呼び出しを使用しています。

$.ajax({
         url: 
    'https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins='+start+'&destinations='+end+'&key=MY_KEY',
         dataType: 'json',
         cache: false,
         crossDomain: true,
         success: function(data) {
           console.log(data);
         }.bind(this),      
         error: function(xhr, status, err) {
           console.error('https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins='+start+'&destinations='+end+'&key=MY_KEY', status, err.toString());
         }.bind(this)
       });

次のエラーが表示されます。

クロスオリジン リクエストがブロックされました: 同一オリジン ポリシーにより、https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=delhi&destinations=jaipur&key=MY_KEYでのリモート リソースの読み取りが禁止されています。(理由: CORS ヘッダー 'Access-Control-Allow-Origin' がありません)。

これを修正するためのほぼすべての可能な解決策を読みました。dataType: 'jsonp' を変更しようとしても、うまくいきません。データ型を「jsonp」に変更すると、次の解析エラーが発生します。

parsererror エラー: jQuery18208230966408134822_1475687832399 は呼び出されませんでした

誰かがそれを修正するのを手伝ってくれませんか.Thank.

4

0 に答える 0