Javascript 在jQuery ajax调用中添加参数,最好添加到URL或对象?
当使用jQuery get、post或ajax将参数传递给服务器时,将其附加到URL或将其添加到对象是否更好/更合适?如果答案是基于特定的情况,什么情况下一种方法比另一种更好?例如,请参见以下内容Javascript 在jQuery ajax调用中添加参数,最好添加到URL或对象?,javascript,jquery,Javascript,Jquery,当使用jQuery get、post或ajax将参数传递给服务器时,将其附加到URL或将其添加到对象是否更好/更合适?如果答案是基于特定的情况,什么情况下一种方法比另一种更好?例如,请参见以下内容 $.get('serverScript.php?v1=123&v2=321', { v3: '111' }, function(data) { ... }); $.get('serverScript.php', { v1:123, v2:321, v3: '111' }, funct
$.get('serverScript.php?v1=123&v2=321', { v3: '111' }, function(data) {
...
});
$.get('serverScript.php', { v1:123, v2:321, v3: '111' }, function(data) {
...
});
只要您可以使用对象来表示数据而不是执行字符串操作,就可以这样做
- 第一种方法使用手动字符串操作来序列化数据
- 第二种方法使用一个自动的、经过测试的规范解析器来序列化相同的数据
这与您将使用
JSON.stringify
而不是自己构建JSON的事实完全相同。对于我的特定应用程序,{v3:'111'}
是一个属性(实际上是一个回调函数),用户可以覆盖它。你还推荐你的表演方式吗?如果是这样,我可以很容易地做到这一点,但需要使用jQueryextend
或一些JavaScript代码来合并这两个对象。Thanks@user1032531我不明白您的具体问题,也不明白为什么需要jQuery.extend
(v1、v2和v3到底是什么?为什么没有有意义的名称:)。不过,我还是100%推荐。v1
和v2
是应该始终传递给服务器的参数,并且设置为服务器组件、控制器等。v3
甚至可能是v4
等参数将根据插件的配置方式进行更改,和设置为页面记录ID等。是,100%。第一种方法,谢谢你,本。你说的“第一种方法”是指我的第二个例子,对吗?