相关疑难解决方法(0)

为什么$ _POST变量在PHP中被转义?

当我的PHP脚本从AJAX POST请求接收数据时,$_POST变量将被转义.真正奇怪的是,这只发生在我的生产服务器上(在Linux上运行PHP 5.2.12)而不是在我的本地服务器上(在Windows上运行PHP 5.3.1).

这是AJAX代码:

var pageRequest = false;
if(window.XMLHttpRequest)     pageRequest = new XMLHttpRequest();
else if(window.ActiveXObject) pageRequest = new ActiveXObject("Microsoft.XMLHTTP");

pageRequest.onreadystatechange = function() { }

var q_str = 'data=' + " ' ";

pageRequest.open('POST','unnamed_page.php',true);

pageRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
pageRequest.setRequestHeader("Content-length", q_str.length);
pageRequest.setRequestHeader("Connection", "close");

pageRequest.send(q_str);
Run Code Online (Sandbox Code Playgroud)

这有什么原因吗?我应该如何解决这个问题,以便它可以在两台服务器上运行?

编辑:我有magic_quotes的以下设置:

                     Local   Master

magic_quotes_gpc     On      On
magic_quotes_runtime Off     Off
magic_quotes_sybase  Off     Off
Run Code Online (Sandbox Code Playgroud)

php ajax post escaping

37
推荐指数
4
解决办法
3万
查看次数

标签 统计

ajax ×1

escaping ×1

php ×1

post ×1