Jquery:我如何组合两个json数据对象并发布它们?
关于这篇文章 ,我有另一个问题 – 如何组合两个json数据对象?
第一个json对象,
{"file":{"name":"1024x768.jpg","type":"image\/jpeg","tmp_name":"C:\\wamp\\tmp\\php2C2E.tmp","error":0,"size":469159}}
第二个json对象,
{"title":"title","content":"bla bla blah"} $.post("process.php", first + second ,function(xml){ });
所以我可以使用print_r($_POST)
在process.php中获取这个数组:
Array ( [file] => Array ( [name] => 1024x768.jpg [type] => image/jpeg [tmp_name] => C:\wamp\tmp\phpA1.tmp [error] => 0 [size] => 469159 ) [title] => title [content] => bla bla blah )
查看您的第一个数据对象file
不是一个数组,因为您希望它在服务器端的php
代码中。 它是一个JSON
对象。 无论如何,你可以尝试这个来组合数据对象并发布它。
var data1 = {"file":{"name":"1024x768.jpg","type":"image\/jpeg","tmp_name":"C:\\wamp\\tmp\\php2C2E.tmp","error":0,"size":469159}}; var data2 = {"title":"title","content":"bla bla blah"} var data = data1; data.title = data2.title; data.content = data2.content; $.post("process.php", data ,function(xml){ });
或者,您可以使用jQuery.extend
方法将两个或多个对象的内容合并到第一个对象中。
var data1 = {"file":{"name":"1024x768.jpg","type":"image\/jpeg","tmp_name":"C:\\wamp\\tmp\\php2C2E.tmp","error":0,"size":469159}}; var data2 = {"title":"title","content":"bla bla blah"} $.post("process.php", $.extend({}, data1, data2) ,function(xml){ });
使用$.extend
:
$.post("process.php", $.extend(true, first, second) ,function(xml){ });