Здесь есть несколько потенциальных проблем:
1) В этом коде здесь:
function loadData() {
var str = $("#Zip").val();
if (str.length == 3){
$.get("/Localities/OnChange", { id: str }, function (data) {
$("#Code").val(data.code);
});
}
if (str.length == 5) {
$.get("/Localities/OnChange", { id: str }, function (data) {
$("#Boroughs").val(data.boroughs);
$("#City").val(data.city);
$("#Code").val(data.code);
$("#Country").val(data.country);
$("#County").val(data.county);
var temp = data.city;
});
}
}
var temp во втором GET будет доступно только в текущей функции.
Второе, что наиболее вероятно, почему ваш код не показывает данные, потому что это, скорее всего,
data.data.city
и data.data.code
и т. Д.
если вы делаете
console.log(data);
Я почти уверен, что он вложен в другую оболочку данных.
Дайте мне знать
Я бы изменил переменную функции на функцию (ответ), чтобы вы были озадачены уровнем, на котором вы находитесь.
Это должно сработать или, по крайней мере, дать вам лучшее представление о том, что сломано:
var temp; // Global
function loadData() {
var str = $("#Zip").val();
if (str.length == 3){
$.get("/Localities/OnChange", { id: str }, function (response) {
$("#Code").val(response.data.code);
});
}
if (str.length == 5) {
$.get("/Localities/OnChange", { id: str }, function (response) {
$("#Boroughs").val(response.data.boroughs);
$("#City").val(response.data.city);
$("#Code").val(response.data.code);
$("#Country").val(response.data.country);
$("#County").val(response.data.county);
temp = response.data.city;
});
}
}
Также проверьте консоль на наличие любых других ошибок, которые могут препятствовать выполнению кода.
ПРОВЕРЬТЕ ЭТО:
Щелкните правой кнопкой мыши элемент и захватите ID
<input type="text" id="#city">
этот идентификатор может отличаться от ожидаемого после рендера