Ajax var#u dump表示75个字符的字符串,可以';不要附和它,不要';t json_decode()

Ajax var#u dump表示75个字符的字符串,可以';不要附和它,不要';t json_decode(),ajax,json,var-dump,Ajax,Json,Var Dump,我正在用AJAX将一些数据发布到PHP页面,但我无法对其进行解码json\u decode()返回空值。所以我想如果我回显它,我可以通过jsonlint运行它。但是什么也没有出现。为了确定数据是否到达PHP页面,我尝试了var\u dump()数据。奇怪的是,它显示: string(75) "{\"title\":\"fds\",\"body\":\"fds\",\"tags\":\"fds\",\"type\":\"question\"}" 因此数据到达页面。在删除反斜杠后,我通过jsonl

我正在用AJAX将一些数据发布到PHP页面,但我无法对其进行解码
json\u decode()
返回空值。所以我想如果我回显它,我可以通过jsonlint运行它。但是什么也没有出现。为了确定数据是否到达PHP页面,我尝试了
var\u dump()
数据。奇怪的是,它显示:

string(75) "{\"title\":\"fds\",\"body\":\"fds\",\"tags\":\"fds\",\"type\":\"question\"}"
因此数据到达页面。在删除反斜杠后,我通过jsonlint运行了它,它说JSON是有效的。这怎么可能

根据
var\u dump()
和jsonlint,我得到了一个75个字符的有效JSON字符串,但我不能
echo
它或
JSON\u decode()
它。

编辑:
显然我做错了什么,我现在可以回显了(我可能在
$\u POST
数组键中输入了一个错误)。它呼应了这一点:

{\"title\":\"tre\",\"body\":\"tre\",\"tags\":\"tre\",\"type\":\"question\"}
再一次,没有反斜杠,JSONLint告诉我它是有效的JSON

编辑2:
以下是PHP代码:

// code to check if the user is logged in
$post = json_decode($_POST['q']);
echo "var_dump(\$_POST['q']): ";
var_dump($_POST['q']);
echo "<BR /><BR />";
echo "var_dump(\$post): ";
var_dump($post);    
JS代码:

var simpleObj = {title: "rew", body: "rew", tags: "rew", type: "question"};
$.post('savepost.php', "q=" + JSON.stringify(simpleObj), function(data) {
    $('#resultDiv').html("DATA: " + data);
});
最终编辑:

我终于自己解决了。事实上,我甚至在问之前就发现了这个问题,但我认为它是“无害的”,并且认为这不会导致这个问题。

我找到了答案!当我通过
jsonlint.com
运行它时,它说它因为反斜杠而无效。我认为这些只是为了将JSON中的引号标记为普通引号,而不是字符串结尾和起始引号,我认为它们是“无害的”。
然后我想到了函数
addslashes()
,并认为应该有一个相反的函数。我找到了
stripslashes()
,这就解决了问题

新代码:

// code to check if the user is logged in
$post = json_decode(stripslashes($_POST['q']));
echo "var_dump(\$_POST['q']): ";
var_dump($_POST['q']);
echo "<BR /><BR />";
echo "var_dump(\$post): ";
var_dump($post);    
//检查用户是否登录的代码
$post=json_解码(带斜杠($_post['q']);
echo“var\u dump(\$\u POST['q']):”;
变量转储($_POST['q']);
回声“

”; echo“var_dump(\$post):”; var_dump(员额);
显示您的代码。。尝试
console.log(response)
您的ajax响应ajax响应是var\u转储输出。@mithunsatheesh查看我的编辑。显示代码。。把它放在你的qn中的提琴或帖子上。@mithunsatheesh如果JSON是有效的,并且它到达了我的PHP,我想我的JS可能是正确的,所以我包括了我的PHP。
// code to check if the user is logged in
$post = json_decode(stripslashes($_POST['q']));
echo "var_dump(\$_POST['q']): ";
var_dump($_POST['q']);
echo "<BR /><BR />";
echo "var_dump(\$post): ";
var_dump($post);