我使用serialise发送php数组,但响应不同。这是我的尝试
$array = serialize($out);
var_dump(serialize($array));
//string(58) "s:50:"a:2:{s:9:"sidebar-1";i:5;s:12:"footer-insta";i:2;}";"
我发送此值的方式,
echo \'<div data-ad = \'.$array.\' class="ash_loadmore"><span>LOAD MORE</span></div>\';
当我使用ajax发送序列化值时,ajax响应给我的值,
string(54) "a:2:{s:9:\\"sidebar-1\\";i:5;s:12:\\"footer-insta\\";i:2;}"
我需要精确的值,因为我已再次取消序列化以使其成为数组。为什么会有额外的
\\
输出不同。
最合适的回答,由SO网友:ashraf 整理而成
嗯,似乎@JacobPeattie提到要使用json,我只是附和一下。
第一个json编码变量$array = json_encode($out);
然后发送此值echo \'<div data-ad = \'.$array.\' class="ash_loadmore"><span>LOAD MORE</span></div>\';
要得到它echo json_encode($_POST[\'ad\'])
我想就是这样了。顺便说一句,您现在没有字符串问题,因为输出将如下所示{"footer-insta":2,"sidebar-1":3}
你看它被{}