ajax回调函数的data取值问题,属性名含特殊符号

使用$.getJSON(url,function(data){ });
按理说data里封装的参数直接"."key名就能取出来
比如data.id就能取出后台封装的id对应的值

data.age就能取出后台封装的age对应的值
但是如果一些带特殊字符的属性名该怎么取?比如 data.user-name 这里带了横杠是会出错的
试过EL表达式里面的取法data["user-name"]不行, data.user-name也不行,求大神解答

4个回答

如果你data是对象,data["user-name"]肯定能取这个键值,至于你el获取不到那就是el的问题,和js没关系,你只能规定好你的键名称来,或者看el怎么取这种特殊键的值

w405722907
马大头 又试了下data["user-name"]的确取到了,之前怎么没取到,可能写错了...
3 年多之前 回复

转成js对像用data[""]就可以了

w405722907
马大头 嗯嗯,取到了
3 年多之前 回复

在回调function里面写一个debugger,浏览器调试下后台返回的data是什么类型的个数。看看data都有什么信息。
程序的世界里,事出必有因,耐先找找吧。

最好的方法还是在上游数据解决吧,上游抛出数据时规范化
帮忙查了下,试试Json.Net包怎么样吧,我没试过
http://tieba.baidu.com/p/4435732466

w405722907
马大头 data["user-name"]就可以取到,之前就是在后台把"-"给replace处理了,现在不用了
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐