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.