2017-07-26 24 views
1

私はどこかで非常に基本的な間違いをしていると思います。Json経由でフォームデータを送信

私はPHPページに送信したいフォームがあります。また、その情報を持つパラメータを送信したいので、基本的な2D配列を作成しました。 $ fd ['api'] - >パラメータとして文字列を代入します $ fd ['body'] - >フォームデータを含む

私はこの配列 "$ fd"をjson文字列として送信するのに苦労しており、Javascriptを頻繁に使用しないので、どこかでjavascript構文を誤って使用していると思います。

お願いします。

+0

は 'VAR fdが= {}' –

答えて

2

FormDataオブジェクトのみを送信します。そのオブジェクトに他のキー/値ペアあなたappendを追加するには:初心者のために

function admin_statistics_form_send(){ 
    var fd = new FormData($("#admin_statistics_form")[0]); 
    fd.append('api',"refresh_all"); 


    $.ajax({ 
    //async: true, // redundant since it is default and should never use `false` 
    beforeSend: function(){ 
    }, 
    url: "admin_statistics_api.php", 
    type: "POST", 
    data: fd, 
    dataType: "json", 
    processData: false, // tell jQuery not to process the data 
    contentType: false, // tell jQuery not to set contentType 
    success: function (data) { 
     console.log(data) 
    }, 
    error: function(data) { 
     console.log(data) 
    } 
    }) 
} 
+0

が働いているようだしてみてください。 FormDataオブジェクトはすでにシリアル化されており、文字列化する必要なくJsonとして渡すことができますか? –

+0

いいえ、それはjsonではありません...ブラウザは、フォームのコード化されたデータとして内部的にそれをシリアル化します。 – charlietfl

関連する問題