我有一个像这样定义的对象:
data = {name: 'durk durk durk', site_id: 123456}
我有一个看起来像这样的功能:
function(data) { jQuery.post('www.example.com/ajax', { method: 'add', data: data } )
哪个会很棒,除非它的发布方式如下:
data[name]: durk durk durk
data[site_id]: 123456
method: add
当我想要的是这样发布时:
name: durk durk durk
site_id: 123456
method: add
所以我对自己说,“自我,只需要拿出那些额外的数据就可以了,而你的同事会认为你的花哨对象帖子有多聪明”。
所以我将功能更改为:
function(data) { jQuery.post('www.example.com/ajax', { method: 'add', data } )
哪个失败了。
请帮助我,所以今晚我不必哭泣。
感谢。
答案 0 :(得分:2)
用大锤子:
data.method = 'add';
function(data) { jQuery.post('www.example.com/ajax', data) …
delete data.method;
优雅的方式:
function(data) { jQuery.post('www.example.com/ajax', $.extend({}, data, {'method' : 'add'})) …
答案 1 :(得分:1)
使用$.extend
组合两个对象。
data = {name: 'durk durk durk', site_id: 123456}
var postData = $.extend({}, data, { method: "add" });
function(postData) { jQuery.post('www.example.com/ajax', { postData } )