2012-01-16 17 views
3

JSON.stringifyを使用してJavaScriptオブジェクトから変換されたJSON値があります。私はPHPを使用してJSONの内容を解析しようとしていますが、私は運がなかった。私は何か本当に基本的な間違っていると確信しています。 file2.phpで使用してfile1.phpjson_decodeから動的に生成されたJSONをPHPに取得する方法

<html> 
<head> 
    <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'></script> 
    <script src='/json2.js'></script> 
    <script> 
     var irxmlnewsreleases = new Array(); 
     irxmlnewsreleases[0]={ 
      "attachmentfileid":12039 
     }; 
     var news_release = JSON.stringify(irxmlnewsreleases); 
     $(document).ready(function() { 
      $("#response").text(news_release); 
     }); 
    </script> 
</head> 
<body> 
    <div id="response"></div> 
</body> 
</html> 

私は、このデータを読み取るしようとしている:

はfile1.phpでは、私のようなものを持っています。

私は最初に(間違って)file_get_contentsを使って試してみましたが、しばらくの間これを成功させていませんでした。私は、JavaScriptが実行されるまでJSON値が存在しないことを明らかにしているので、PHPはもちろんjQueryによって生成されたdivコンテンツの値を読み取ることはできません。私が知らないことは、その価値を得る方法です。

JSONはfile1.phpで正常に生成されていて、有効なJSONです(私はjsonlintを通して実行しました)。

ダイナミックに生成されたJSONの価値をPHPに得るにはどうすればよいでしょうか?

+0

ような何かを行います。私は完全な答えを投稿します –

答えて

3
 $(document).ready(function() { 
     $("#response").text(news_release); 
     $.post('file2.php', { php_post_var1: news_release }, function (data) { 
      //do something with the PHP script output here if you want 
     }); 
    }); 

その後、あなたのPHPスクリプトfile2.phpにいくつかのスクリプトへのAJAX呼び出しがしたい場合は、PHPにデータを送信するために行う

<?php 
$news_release = $_POST['php_post_var1']; 
echo 'PHP received ' . $news_release; 
?> 
+0

こんにちはミロ、応答のおかげで。私はそのアプローチを試して、 '$ news_release'の空白値を取得しています。 –

+0

Webサーバーの認証(Apacheディレクティブでディレクトリをパスワードで保護するように設定されている)で認証が必要なのかどうか疑問です。私は今それを確認します。 –

+0

いいえ、そうではありません。 '$ _POST'の値を表示しても値が得られません。 –

関連する問題