В целом я согласен с Энди E , что если вы посмотрите на строку данных, которые будут опубликованы, они должны выглядеть как
'data='+encodeURIComponent(myJSON)
Я хочутолько чтобы понять, что на практике второй параметр $ .post используется в основном не в виде строки:
$.post('somescript.php', 'data='+encodeURIComponent(myJSON), ... );
, а в качестве объекта:
$.post('somescript.php', {data: myJSON}, ...);
Тогда вызов jQuery encodeURIComponent
функционирует и создает строку 'data='+encodeURIComponent(myJSON)
с учетом jQuery.param () внутри.Гораздо важнее понять, что для получения myJSON
необходимо создать эту строку JSON с учетом некоторых функций кодирования JSON из объекта, который содержит данные, которые вы хотите опубликовать.Таким образом, на практике код будет выглядеть следующим образом:
$.post('somescript.php', { data: JSON.stringify(myObject) }, ...);
, где JSON.stringify
- это функция JavaScript из json2.js, которую вы можете бесплатно загрузить с http://www.json.org/js.html.