0

在执行返回对象的 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);
}

带回的“数据”参数是来自控制器的“地址”对象。我相信这就是问题所在,我正在返回一个 C# 对象,但是例如,我在成功函数中创建了一个警报以吐出“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 对象。

4

2 回答 2

1

尝试 Json.parse(data) 将响应数据转换为适当的 javascript 对象文字。

于 2013-08-01T19:10:41.527 回答
1

您的 dom 查找可能有一些内容,请确保所有名称都正确。

此外,您不会告诉我们应该更改的 dom 对象是什么样的。我们不需要查看您的返回 json,因为它在警报中工作,但我认为问题出在它试图更改 dom 中的值时。

还要确保 ajax 调用函数被文档就绪函数括号中的东西调用。

//ajaxfunction outside of doc ready function

$(document).ready(function () {
//ajaxfunctioncall here
});
于 2013-08-01T19:24:43.770 回答