【已解决】php前端提交的json格式数据在后端用json_decode解不出来

    遇到一个奇怪的问题,前端提交的json格式数据在后端用json_decode解不出来,尝试用var_dump()从后端输出前端提交的内容,结果如下:

string(155) "{\"contentTemplate\":\"testBefore%%lastReason%%testEnd\",\"auditMode\":1,\"indexShow\":[{\"rowId\":0,\"roles\":\"1\"}],\"reasonType\":[\"\\u9ed8\\u8ba4\"]}"

    很容易看出来, json格式的数据被转义了  尤其是双引号。正确的应该是这样:

string(135) "{"contentTemplate":"testBefore%%lastReason%%testEnd","auditMode":1,"indexShow":[{"rowId":0,"roles":"1"}],"reasonType":["\u9ed8\u8ba4"]}"

    问题是,我并没有写转义的程序,为什么会被自动转义呢?一番百度后,发现是配置的问题,参考 这篇文章, 修改配置:

; Magic quotes for incoming GET/POST/Cookie data.

magic_quotes_gpc = On

      

    修改完配置后重新启动Apache( 参考)

./bin/apachectl restart




你可能感兴趣的:(PHP)