Ajax响应对象属性访问问题:如何获取CountryRegion属性?
问题原因与解决方案
问题核心在于JSON属性名的大小写不匹配:
你控制器返回的JSON响应里,属性名是小驼峰格式的countryRegion,但你在JS代码中一直用大驼峰的CountryRegion尝试访问——JS对象的属性名严格区分大小写,因此无法获取到对应值。
正确的获取方式
直接使用小写开头的属性名访问即可:
success: function(result) { alert(result.countryRegion); // 注意是countryRegion,首字母小写 }
为什么之前的尝试都无效
result.CountryRegion:大小写不匹配,JS找不到对应属性,返回undefinedres=JSON.parse(result); res.CountryRegion:你已经设置了dataType: "json",jQuery会自动将响应解析为JS对象,再次调用JSON.parse会报错,且核心的大小写问题未解决res=JSON.stringify(result); res.CountryRegion:将对象转为字符串后,字符串不存在CountryRegion属性,必然无法取值data[0].CountryRegion:控制器返回的是单个对象而非数组,data[0]为undefined,无法访问属性
内容的提问来源于stack exchange,提问作者manar mohammad
相关产品推荐
相关产品推荐

