исключение geonames - PullRequest
       12

исключение geonames

0 голосов
/ 05 мая 2011

Я использую веб-сервис Geonames для регистрации на моем сайте.Если возникает ошибка, я хочу отправить себе электронное письмо с ошибкой.Geonames возвращает исключения http://www.geonames.org/export/webservice-exception.html, но я не уверен, как их отобразить.

Я использую Geonames в Jquery для автоматического заполнения местоположений, когда пользователи вводят их.

$( "#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, но ничего не появляется.Пожалуйста, помогите мне .. Я не уверен, что я делаю неправильно.

1 Ответ

1 голос
/ 05 мая 2011

Я немного поигрался с этим, и я думаю, что вы его обдумываете.Мне кажется, что единственная ситуация, когда ваш ответ JSON будет содержать атрибут status, это когда HTTP-ответ не равен 200.

Например, когда вы получаете 503 от серверасервис перегружен, эта функция успеха на самом деле никогда не запускается.Из того, что я могу сказать, похоже, вам нужно добавить error: function( data ) {...}, чтобы получить доступ к опции status.Надеюсь, это было полезно!

...