Intereting Posts
Проверьте, работает ли php-скрипт Поиск ключа в многомерном массиве, а затем изменение значения с помощью PHP Основная функция почты (PHP) дополнительный параметр параметра «-f» Проблема в преобразовании строки в ненадежный код (в PHP, используя phlyLabs punycode string converter) как вызвать javascript facebook api для отправки динамических значений для публикации в стене О области и ООП в PHP @ оператор подавления ошибок и set_error_handler Доступ к многомерному массиву с помощью Codeigniter Передать относительный путь в абсолютный URL с помощью PHP Есть ли возможность существования PHP.NET? Не все переменные сеанса PHP установлены Laravel / Eloquent – Яркие загруженные скрытые / видимые свойства Ультра простой сервер HTTP-сокетов, написанный на PHP, ведет себя неожиданно Не помещается на место, пакет, загруженный классом, требуется от композитора, делает php throw Класс не найден Мой код регистрации Sql не работает

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){ }); 

Поэтому я могу получить этот массив в process.php, используя print_r($_POST) :

 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 ) 

Глядя на ваш первый объект объекта данных, это не массив, который вы ожидаете от него в 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){ });