PHP版本是 5.6.2
发送JS对象时,为什么字符串最终会在PHP中转义?
这是我的JS代码:
$.ajax({
url: url,
type: 'POST',
data: {obj: obj},
success: function(data) {},
error: function(req, status, error){},
timeout: 20000
});
所有 st'rin'gs 最终都像PHP中的 st \'rin \'gs 一样。当然我可以 stripslashes 但是这样做的正确方法是什么?
解决方案适用于同一情况下的所有人,他们检查并调试过但仍无法找到解决方案:如果您使用的是Wordpress,那就是原因。 WP自动转义所有$ _POST变量,因为这个AJAX是针对wp_ajax.php发布的,所以它被转义了。 我采取了简单的方法并做了:
stripslashes_deep($_POST['obj'])
答案 0 :(得分:0)
您必须先检查您的魔术引号配置并进行适当的更改,请考虑阅读以下帖子:Why are $_POST variables getting escaped in PHP?