我正在尝试在执行返回对象的ajax调用后更新页面上的某些输入字段。我知道正在进行调用并返回正确的项目,但是,它不会在文本框中写入这些项目。这就是我在ajax调用后设置它们的方式:
success: function(data) {
$('#address_LocaleID').val(data.LocaleID);
$('#address_StreetAddress').val(data.StreetAddress);
$('#address_Address2').val(data.Address2);
$('#address_StreetNumber').val(data.StreetNumber);
$('#address_BuildingNumber').val(data.BuildingNumber);
$('#address_City').val(data.City);
$('#address_StateProvinceID').val(data.StateProvinceID);
$('#address_CountryID').val(data.CountryID);
$('#address_CountyID').val(data.CountyID);
$('#address_PostalCode').val(data.PostalCode);
$('#address_ApplicationTypeID').val(data.ApplicationTypeID);
$('#address_MapURL').val(data.MapURL);
$('#address_Description').val(data.Description);
$('#address_IsActive').val(data.IsActive);
$('#address_DateCreated').val(data.DateCreated);
}
带回的'data'参数是来自控制器的“Address”对象。我相信这就是问题所在,我正在返回一个C#对象,但是比方说,我在success函数中创建一个警告来吐出'data.City',它给了我正确的值。错误在哪里?
感谢您的帮助。
编辑:
行动方法:
[HttpGet]
public Address AddressGet(string guid, string id)
{
Guid addressID = new Guid(guid);
Address address = new Address();
address.LocaleID = new Guid(id);
if (addressID == Guid.Empty)
{
return address;
}
else
{
address = _iRepository.Address_Get(addressID);
return address;
}
}
没有什么特别的,只需返回一个Address对象。
答案 0 :(得分:1)
尝试使用Json.parse(data)将响应数据转换为正确的javascript对象文字。
答案 1 :(得分:1)
你的dom查找可能还有一些东西可以确保所有的名字都是正确的。
此外,您不会告诉我们应该更改的dom对象的内容。我们不需要看到你的返回json,因为它在警报中工作,但我认为问题在于它何时尝试更改dom中的值。
还要确保ajax调用函数正由文档就绪函数括号中的某些东西调用。
//ajaxfunction outside of doc ready function
$(document).ready(function () {
//ajaxfunctioncall here
});