2017-05-02 11 views
0

JavaScriptからデータをファイルに変換して配列に変換しました。フォームからの入力を使用して、PHPを使用してこの配列を検索し、その結果を表に表示する必要があります。私は何か類似のソリューションを持っている多くの記事を読んだが、進める方法がわからない。JavaScriptにJavascript配列を渡す

私はその後、私はこれを使用しています。この

function sendPhp(reports) { 
$.ajax({ 
    type: 'POST', 
    url: 'reports.php', 
    data: JSON.stringify(reports), 
    contentType: 'application/json', 
    dataType: 'json'   
}); 
} 

のようにPHPに配列を渡すためにPOSTでAJAXを使用しています@Kevin_Kinsey

によって

投稿を提案を使って自分のコードを更新しましたPHPで受け取るには

マイページは現在眉にNULLを表示していますコンソールのget要求を見ると、データが受信されていないことが示されます。

私の間違いを指摘できますか?私はなぜデータが渡されていないのか分かりません。

この画像は、コンソールがこの画像は空である私のPHPページでGETのコンソールログを示し私の配列

ajax post

を示し、私のPOSTを記録示しています。

get on php

+0

これをやってみましたか? - >データ:{レポート:レポート} –

+1

http://stackoverflow.com/questions/42634309/ajax-post-how-to-use-a-js-variable-in-php/42635488#42635488 –

+1

からデータを取得してください'$ _POST'グローバル変数は入力ストリームから読み込むのではなく、 – Coldiary

答えて

0
<?php 
    # get the data from POST, not stdin 
    $json = filter_input(INPUT_POST, "data", FILTER_DEFAULT); 
    //replace FILTER_DEFAULT with appropriate filter flags, as tight as possible 

    $dataObject = json_decode($json); 
    $dataArray = json_decode($json, true); 

ここの場所ではセキュリティが離れてあなたが入力をサニタイズする試みに設定することができますどのようなFILTER_FLAGSから、存在しないことに注意してください。 XSSに対する保護のためにトークンベースの検証が必要であり、残りのPHPスクリプト/ハンドラでJSONの予期せぬ入力があったかどうかを徹底的にテストする必要があります。

+0

など、すべてのショーは、私はこれを試してみましたが、私はまだ変数の名前は何PHPページ – pedaars

+0

でそれを受信して​​いませんか?これをPHPで「print_r($ _ POST);」と表示してください。 ... AJAX呼び出しで "データ"と呼ばれ、PHPにPOSTされたときに "json"と呼ばれることを期待しているように見えます。デバッガのトランザクション(「Inspect Element」がブラウザに表示されます)を実行し、実際に何が起こっているかを確認します。 –

+0

私は "print_r($ _ POST);" PHPページにArray()が表示されます。これは、{var_dump($ _ POST);}のように空の配列を受け取っていることを意味します。 array(0){}を表示しますか? – pedaars

関連する問題