Проблема, кажется, исходит из этого оператора return
:
return Json(PRICE, JsonRequestBehavior.AllowGet);
Этот оператор возвращает обычное строковое значение, которое не содержит свойства PRICE
, поэтому result.PRICE
содержит нулевое значение и вызывает нулевое свойствосообщение об ошибке присваивания.Если вы хотите вернуть значение цены, просто используйте это внутри done
функции:
document.getElementById("fyt").value = result;
или в версии jQuery:
$('#fyt').val(result);
Но если вы все еще хотите вернуть PRICE
свойство, укажите его в данных JSON:
return Json(new { PRICE = PRICE }, JsonRequestBehavior.AllowGet);
И обратный вызов AJAX должен выглядеть следующим образом:
$("#LOGI").change(function () {
var cityname = $(this).val();
if (cityname != "") {
$.ajax({
type: "GET",
url: '/Mobil/GetPrice',
data: { log: cityname }
}).done(function (result) {
$("#fyt").val(result.PRICE); // now the price property should exist
});
} else {
// do something else
}
});