如何将动态生成的JSON转换成PHP

如何将动态生成的JSON转换成PHP,php,jquery,json,Php,Jquery,Json,我得到了一个JSON值,它是使用JSON.stringify从JavaScript对象转换而来的。我正在尝试使用PHP解析JSON的内容,但我没有任何运气。我肯定我做错了什么 在file1.php中,我得到了如下内容: <html> <head> <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'></script> <s

我得到了一个JSON值,它是使用JSON.stringify从JavaScript对象转换而来的。我正在尝试使用PHP解析JSON的内容,但我没有任何运气。我肯定我做错了什么

在file1.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>

var irxmlnewsleases=新数组();
irxmlnewsreleases[0]={
“attachmentfileid”:12039
};
var news_release=JSON.stringify(irxmlnewsleases);
$(文档).ready(函数(){
$(“#回应”)。文本(新闻稿);
});
然后我尝试使用file2.php中的
json\u decode
file1.php
读取这些数据

我第一次尝试(错误地)使用
file\u get\u contents
,对此进行了一段时间的抨击,但没有成功。我猜问题很明显,JSON值在JavaScript运行之前不存在,因此PHP当然永远无法读取jQuery生成的div内容的值。我不知道的是如何得到那个值

JSON是在file1.php中成功生成的,并且是有效的JSON(我已经通过jsonlint运行了它)

将动态生成的JSON的值输入PHP的更好方法是什么

     $(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
中执行以下操作

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


如果需要,可以对某些脚本进行AJAX调用,将数据发送到php。我会发布一个完整的答案,谢谢你的回复。我已经尝试过这种方法,现在,
$news\u release
的值为空。我想知道这是否与我的web服务器上的身份验证有关(它被设置为使用Apache指令对目录进行密码保护)。我现在查一下。不,好像不是这样的。打印
$\u POST
的值时仍然没有获得值。您应该仍然能够在apache密码保护的访问目录中执行ajax调用。我要说的是,新闻发布版中可能没有javascript中的任何数据。尝试将其设置为显式字符串以排除ajax。在你的
函数(data){console.log(data);}
在调试类似情况时非常有用。谢谢回复-非常有用!问题是,我试图通过直接在浏览器中加载文件来回显PHP变量。
$.post
函数中回调函数的返回值显示我确实得到了所需的东西。