当我的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);
这有什么原因吗?我应该如何解决这个问题,使其在两台服务器上都能正常工作?
编辑:我对magic_quotes具有以下设置:
Local Master
magic_quotes_gpc On On
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off