0

我正在使用 Geonames 网络服务在我的网站上进行注册。如果发生错误,我想给自己发送一封包含错误的电子邮件。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 回答