var data = "user_Name="+user_Name.val();和var data = {"user_Name":user_Name.val()};两种为何都对?

vardata="user_Name="+user_Name.val();和vardata={"user_Name":user_Name.val()};这两种写法为何都对... var data = "user_Name="+user_Name.val();和var data = {"user_Name":user_Name.val()};这两种写法为何都对?第二种是JSON写法,那第一种是什么写法?为什么这样写也是对的?求大神指点一下,感激不尽!!!!!!!! 展开
 我来答
澄清韵Zk
推荐于2016-09-20 · TA获得超过189个赞
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:166万
展开全部

这两个不一样呀。

首先,第一个是字符串,第二个是对象。

其次,正确的JSON格式要包含在中括号或大括号中,第一个写法不是JSON格式。正确写法应该是:

var str = "{user_Name:"+user_Name.val()+"}";

JSON只是一种数据格式,你可以理解成一串按特定规则组合的字符串,这个字符串可以方便转化为js对象。

最后,按两者是否等效来讲,第一个和第二个不是等效的。因为你不能用前者完全替换后者。

等效的写法是:

var str = "var data = {user_Name:"+user_Name.val()+"}";
eval(str);

eval是json转换为js对象的关键。

青鸟中关村专家
2015-06-24 · 知道合伙人软件行家
青鸟中关村专家
知道合伙人软件行家
采纳数:1734 获赞数:8440
就职于北大青鸟中关村,自2004年踏入北大青鸟这个行业,已经有11年工作经验和8年的培训经验,寓教于乐

向TA提问 私信TA
展开全部
前者是url重写传值方法,name=value&name=value,该方法是表单或超链接传递参数的方式
后者是json对象传值
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式