Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript中的JSON不在PHP中解码_Php_Javascript_Json_Post - Fatal编程技术网

Javascript中的JSON不在PHP中解码

Javascript中的JSON不在PHP中解码,php,javascript,json,post,Php,Javascript,Json,Post,我一直在尝试在一个页面上从Javascript获取一些数据,以异步方式发布到php文件。我甚至没有尝试对数据做任何事情,只是从ajax调用中吐出一个var_转储。一次又一次的空 我已经用JSONLint检查了JSON,它验证得很好。我从JSON.stringify获取JSON——Firebug告诉我,我得到了以下信息: {"items":[["sa1074","1060"],["sa1075","1061"]]} 我试过了php://input,以及PHP手册中关于该函数的注释中的json_d

我一直在尝试在一个页面上从Javascript获取一些数据,以异步方式发布到php文件。我甚至没有尝试对数据做任何事情,只是从ajax调用中吐出一个var_转储。一次又一次的空

我已经用JSONLint检查了JSON,它验证得很好。我从JSON.stringify获取JSON——Firebug告诉我,我得到了以下信息:

{"items":[["sa1074","1060"],["sa1075","1061"]]}
我试过了php://input,以及PHP手册中关于该函数的注释中的json_decode_nice,我尝试过使用utf8_encode-我的json有什么问题吗

编辑:Derptite dee可能应该多计划一点这个帖子,哈哈。以下是我的PHP(使用PHP手册注释中的建议)

以及用于创建它的JS:

        var jsonKit = JSON.stringify(kit);
    $.post("kits.php?", {"build" : jsonKit},
        function(data) {
            $("#kitItems").html(data);
        });
另外:我们的主机是在PHP5.2上的——当我上传了一个非常好的redbean类,结果它爆炸了,我发现了这一点。必须用遗留的redbean重新实现。我们的主人破产了

解决:感谢所有评论的人。没有想到要查看$u POST以了解即将出现的内容。在$\u帖子中,引号被斜杠转义,json\u解码被它阻塞了。在解码之前添加这一行解决了这个问题。还忘记设置true以返回关联数组。谢谢

$kit = str_replace('\\', '', $kit);

没有看到代码-我只是在这里猜测。。。您是否在应用程序中使用
true
assoc
变量



这让我在解码上苦苦挣扎了很长一段时间,这是我第一次尝试解码一些东西,

请展示更多的代码,尤其是您如何拨打电话。如果
var\u dump($\u POST)
结果为空,则您的问题出现在前面的链接中。请发布您的JS和PHP:)不要忘记与
json\u last\u error()
交朋友,尽管这听起来像是其他地方的问题。谢谢您的评论!我没有想过要把($_POST)扔掉——我只是习惯于发帖,不用担心。我想你必须回到最基本的方面。当我转储($\u POST)时发现东西被斜杠漏掉了。谢谢神奇的引号又把另一个PHP程序搞砸了。。。
$kit = str_replace('\\', '', $kit);
<?php json_decode($jsonString, true); ?>