0

Web サイトへの登録に Geonames Web サービスを使用しています。エラーが発生した場合は、エラーを含むメールを自分に送信したいと考えています。Geonames は例外http://www.geonames.org/export/webservice-exception.htmlを返します が、それらを表示する方法がわかりません。

ユーザーが場所を入力したときに場所を自動補完するために、Jquery で Geonames を使用しています。

$( "#location" ).autocomplete({
            source: function( request, response ) {
                $.ajax({
                    url: "http://ws.geonames.org/searchJSON",
                    dataType: "jsonp",
                    data: {
                        q: request.term,
                        featureClass: "P",
                        style: "full",
                        maxRows: 10 
                    },
                    success: function( data ) {
                        response( $.map( data.geonames, function( item ) {                                                           
                            return {
                                label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,
                                value: item.name,
                                latitude: item.lat,
                                longitude: item.lng,
                                status: item.status
                            }
                        }));  

成功関数では、最後のパラメータ status がリクエストのステータスを返す必要があります。それをdivに追加しましたが、何も表示されません。助けてください..何が間違っているのかわかりません。

4

1 に答える 1

1

私はこれをかなりいじりましたが、あなたはそれを考えすぎていると思います. JSON 応答にstatus属性が含まれる唯一の状況は、HTTP 応答が 200 でない場合のようです。

たとえば、オーバーロードされているサービスに対してサーバーから 503 を受け取った場合、その成功関数は実際には実行されません。私が言えることから、オプションerror: function( data ) {...}にアクセスできるようにするには、追加する必要があるようです。statusお役に立てば幸いです。

于 2011-05-05T17:48:14.003 に答える