訪問者が場所を入力するオートコンプリート入力があり、入力中に提案が表示されます。これにはGeonamesWebサーバーを使用しています。
Geonames Webサーバーでエラーが発生した場合、例外メッセージを返そうとしています。たとえば、Webサーバーの要求制限を超えた場合、スクリプトから電子メールアラートを送信する必要があります。
返される例外メッセージはJSONです。
これは、error()関数を使用したスクリプトの一部です。データのusernameパラメーターに意図的にタイプミスをしてエラーを取得しましたが、アラートが表示されません。
$(function() {
$( "#city" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: "http://api.geonames.org/searchJSON",
dataType: "jsonp",
data: {
q: request.term,
countryBias: "US",
featureClass: "P",
style: "full",
maxRows: 10,
ussername: "demo",
operator: "OR"
},
success: function( data ) {
response( $.map( data.geonames, function( item ) {
return {
label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,
value: item.name,
saved_country: item.countryName,
saved_state: item.adminName1,
saved_city: item.name,
saved_zipcode: item.postalcode,
saved_latitude: item.lat,
saved_longitude: item.lng,
}
}));
},
error: function( data ) {
response( $.map( data.geonames, function( item ) {
return {
request_status: item.status
}
alert("Error msg!");
}));
},
});
},