我有一个使用JSON.stringify从JavaScript对象转换的JSON值。我正在尝试使用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>
然后我尝试使用file2.php中的file1.php
从json_decode
读取此数据。
我首先(错误地)使用file_get_contents
进行了尝试,并且一直在抨击这一点并没有成功。我想问题显然是JSON值在运行JavaScript之前不存在,所以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
中执行类似
<?php
$news_release = $_POST['php_post_var1'];
echo 'PHP received ' . $news_release;
?>