Я понимаю, что это сообщение старое и может не совпадать с моим случаем - но оно возникло при поиске, когда у меня возникла очень похожая проблема, так что вот она. В моем случае был определенный формат данных, который ожидал сервер:
$_POST['Category'] = Array([id]=>value)
, поэтому я использовал вложенный объект для форматирования данных и jQuery для отправки через Ajax POST. В этом примере мы выбираем некоторые идентификаторы категорий из элементов DOM, которые затем используются в качестве ключей при сохранении данных, а значения выводятся с помощью функции:
var items = {};
var fn = 'Category';
var val = {};
items[fn] = val;
var item;
$("#div.data").each(function(){
item = $(this).val();
items.Category[item] = myval();
});
function myval() {
// get data for the value part
return data;
}
$.ajax({
type: 'POST',
cache: false,
url: window.location.href,
data: items,
success: function(data){/* callback */}
});