この関数をJSコードに追加すると、「name」属性と「value」属性を持つ任意のオブジェクトをシリアル化できます。私は通常、フォームをシリアル化するために使用します。これらのコントロールは形式がないとおっしゃっていましたが、これを使用して、name/value属性を持つ任意のオブジェクトをシリアル化できると思います。また、IDなど、オブジェクトの他の属性を探すように変更するのも簡単に見えます。「データ」の定義や「値」の使用法を示さないため、そこで何をしているのかを正確に知ることは困難です。
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
次に、それをURL文字列に追加します
var dataToPassToAjax = 'allData=' + myObject.serializeObject();
1つの値のみを渡す場合は、シリアル化する必要はありません。
$.post("/scripts/php/process.php",{ 'data': 'data=' + $('li.tag.active').id, funcName : 'tagResults' }).
次に、process.phpで、$ _ REQUEST ['data']の値を取得するだけで、IDが取得されます。