0

HTML を解析して別のスクリプトに POST する必要があります。解析されたデータでオブジェクトをシリアル化するために使用JSON.stringifyすると、受信スクリプトの $_POST 配列は空です:

$("#addQueryForm").submit(function(event){
  event.preventDefault();
  result = {}     
  result['kindArr'];
  result['factor'];
  $("[rel=my-form]").each(function() {
    result[$(this).attr("name")] = $(this).attr("value");
  }); 
  var form = JSON.stringify(result);    
  $.post("add_kind.php", form , function(data) {
    alert(data);  
    //data shows me that $_POST array is empty
  }); 
});

しかし、json 文字列を手動でクエリに書き込むと、正しいでしょう。

$.post("add_kind.php", {"kind":"Var1","kindArr":"Var12345","factor":"Var0","synonym1":"Var1","synonym2":"Var2","synonym3":"Var3"} , function(data) {
    alert(data);  
    //data shows me that $_POST contains posted data
});

私は何を間違っていますか?

PS:stringify余分でした。

4

1 に答える 1

2

あなたの状況ではシリアライズの方が良いかもしれません:

var form = $(this).serialize();    
$.post("add_kind.php", form, function(data) {
    alert(data);
});
于 2013-02-07T12:04:46.483 に答える