質問したいのですが、serizelize() を使用してリストソートで同じ名前のフォームをシリアル化する方法、var paixu = $(":input[name='paixu']").serialize() ; use data:paixu, 以前は、最後のソートのみが取得されました。
<input type="text" name="test" value="t1"><input type="text" name="test" value="t2"><input type="text" name="test" value="t3"><input type="text" name="test" value="t4"><input type="submit" id="test" value="test"><script type="text/javascript">$("#test").click(function(){ var data; data = $(":input[name='test']").map(function(){ return $(this).val(); }).get(); alert(data);})</script>
<input type="text" name="test" value="t1"><input type="text" name="test" value="t2"><input type="text" name="test" value="t3"><input type="text" name="test" value="t4"><input type="submit" id="test" value="test"><script type="text/javascript">$("#test").click(function(){ var data; data = $(":input[name='test']").map(function(){ return $(this).val(); }).get(); alert(data);})</script>
PHP の規則に従うこともできます。つまり、同じ名前のオブジェクトは配列形式で名前を付ける必要があります
か、file_get_contents('php://input') からデータを取得して自分で解析することができます
data: paixu,
paixu json 形式のデータだとシリアル化できません
シリアル化する必要がある場合は次のようにできます
var data = $("#form").serialize();
$ .ajax({
タイプ: "post",
URL: "xx.php",
データ:{'data' :data},
バックグラウンドでデータを取得 $_POST['data']
返信: jam00、同じキー値を持つ名前は確かに少し面倒です。トラバースした方が良いです。ありがとうございます
もちろん、serializeArray
var paixu = {data : $(":input[name='paixu']").serializeArray() }; も使用できます。しかし、受け取ったのは次のような配列です
array(
'data' => array(
array('name' => 'paixu', 'value' => 1),
array('name' => 'paixu', 'value' => 2)
)
)