На самом деле, у меня был этот рабочий функционал на моем сайте. Но вдруг URL, с которого я получаю штат и город в форме ответа AJAX, перестал работать.
Теперь самая большая проблема, с которой я сталкиваюсь, — как сделать эту вещь снова работоспособной?
Ниже приведен мой текущий код:
HTML-код:
<input type="text" class="form-control" size="20" id="store_zipcode" name="store_zipcode" value="">
<input type="text" class="form-control" maxlength="50" readonly="readonly" name="store_city" id="store_city" value="">
<input type="text" class="form-control" readonly="readonly" name="store_state" id="store_state" value="" size="20">
Код jQuery-AJAX:
//Function called in Store Add/Edit form when user enters valid US Zip Code value
function GetLocation() {
var geocoder = new google.maps.Geocoder();
var store_zipcode = $("#store_zipcode").val();
var complete_address = store_zipcode;
geocoder.geocode({ 'address': complete_address }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();
$("#store_longitude").val(longitude);
$("#store_latitude").val(latitude);
} else {
//alert("Request failed.")
}
});
var el = $(this);
if (el.val().length === 5) {
$.ajax({
url: "http://zip.elevenbasetwo.com",
cache: false,
dataType: "json",
type: "GET",
data: "zip=" + el.val(),
success: function(result, success) {
$("#store_city").val(result.city);
$("#store_state").val(result.state);
}
});
}
}
//Call to the function to display location details on Store add/edit form
$( "#store_zipcode" ).focusout(GetLocation);
Еще одна вещь, я не могу сохранить названия городов и штатов в моей базе данных. Мне придется взять из какого-то источника данных только то, что я делал выше. Но источник данных должен быть надежным. Функциональность никогда не должна разрушаться.
Если вам нужна дополнительная информация о проблеме, о которой я говорю, вы можете проверить только что заданный вопрос по следующему URL: Ссылка на ранее заданный вопрос.
Ну, похоже, что домен elevenbasetwo.com в данный момент не в сети. Субдомен zip.elevenbasetwo.com не имеет действительной записи DNS и, следовательно, не даст никакого результата в данный момент. Это, вероятно, просто временная вещь — попробуйте еще раз через несколько часов.
Других решений пока нет …