2

mapquest の無料のジオコーディング API を使用しています

リクエストが成功したかどうかを確認したいのですが、データが返されませんでした。

フォーム フィールドにアドレスとして「vdfsbvdf54vdfd」(ばかげた文字列) と入力します。「申し訳ありませんが、入力が間違っています」などのアラートが表示されることを期待しています。アラートは発生しません。

これは私のコードスニペットです

$.ajax({
     type: "POST",
     url: "`http://open.mapquestapi.com/geocoding/v1/address?key=012`",
     data: { location: ad, maxResults: 1}
     })


 .done(function( response ) {alert(response);
         var geoclng = response.results[0].locations[0].latLng.lng;
        var geoclat = response.results[0].locations[0].latLng.lat;

        if (geoclng=="") {alert("Sorry, wrong input");}

         //now use lon/lat on map etc
                          )}

私は試したif (geoclng=="") {alert("Sorry, wrong input");}

またif (response.length=0) {alert("Sorry, wrong input");}

そしてまたif ($.isEmptyObject(response)) {alert("Sorry, wrong input");}

アラートは発生しません。

それが役立つ場合は、応答を警告するとobject Object.

前もって感謝します

4

3 に答える 3

0

以下のコードを試して、成功/失敗したリクエストを確認してください。

// Assign handlers immediately after making the request,
// and remember the jqxhr object for this request
var jqxhr = $.get("example.php", function() {
    alert("success");
})
.done(function() {
    alert("second success");
})
.fail(function() {
    alert("error");
})
.always(function() {
    alert("finished");
});
// Perform other work here ...
// Set another completion function for the request above
jqxhr.always(function() {
    alert("second finished");
});

詳細については、このリンクを参照してください https://api.jquery.com/jQuery.get/

于 2014-02-09T16:00:38.307 に答える
0

これを ajax コードに追加してみてください。

$.ajax({
  type: "POST",
  url: "http://open.mapquestapi.com/geocoding/v1/address?key=012",
  data: { 
     location: ad, maxResults: 1
  }
})

これを追加します(dataパラメーターのすぐ下)

success: function (response) {
  if (response == '') {
    alert('Sorry!');
  }
}

これは成功イベントで実行され、サーバーから返された応答を確認します。次に、if else ブロックでその値をテストします。

jQuery Ajax API の詳細については、こちらをご覧ください: http://api.jquery.com/jquery.ajax/

于 2014-02-09T16:00:49.117 に答える