私のフォームのZipcodeフィールドをAngularで検証しようとしています。標準のDirectionsService.route()では不可能であることが証明されています$ httpリクエストを作成しようとしています。 メソッドを指定しないと、CORSエラーが発生します。メソッドをJSONPに設定すると、それはうまくいきますが、私のthen()関数には当てはまりません。私はちょうど解析エラーを取得します。私はドキュメントのように、私のURLにコールバックを追加しようとしましたが、それを修正するために何もしませんでした。Angular to Google Maps APIでAJAXリクエストを作成できないのはなぜですか
私はこの方法を使用できない場合、Directions APIはドキュメント全体で非常に多くの例のURLを提供しています(「https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&key=YOUR_API_KEY」など)。
var url = 'https://maps.googleapis.com/maps/api/directions/json?origin=53703&destination=54481&key=AIzaSyBXbK2tp2WmjBsnwS8QNiqH7QMKxMIZ86A&callback=JSON_CALLBACK';
$http({method:'get', url: url}).then(function(response){
var data = JSON.parse(angular.fromJson(response.data));
console.log(data);
});
これを変更して適切なリクエストを行うことはできません。しかし、それらが表示され続けることが可能でなければなりませんexamples with URLsだけでなく、directionsService、角度でカスタム検証のために動作しません。
directionsService.route({
origin: '53075',
destination: '"'+zip+'"',
travelMode: 'DRIVING'
}, this.getDistanceCallback);
'angular.fromJson'は何をしますか? 'JSON.parse'は文字列を要求します。 'fromJson'の出力から何を供給しているのでしょうか?文字列を逆シリアル化しようとしているように見え、最初の逆シリアル化から結果のオブジェクトを冗長に逆シリアル化するように見えます(ただし、これはもう文字列ではなく、逆シリアル化されています)。 'JSON.parse' *または*' angular.fromJson'(両方ではない)だけを使うとどうなりますか? – apsillers
@apsillers angular.fromJsonはJSON文字列を逆シリアル化します。私は過去数日間に非常に多くの異なることを試みましたので、物事は濁っていますが、私はオブジェクトや文字列を取り戻していませんでした。それは奇妙だった。しかし、JSON.parseを実行した後、JSオブジェクトのように解析できます。その行は、解析エラーとはまったく関連がありません。それはちょうど私の古いコールバック関数から引き継がれました。私の.then()内のすべてがコメントアウトされても、解析エラーが発生しました。 – pinksharpii