为什么$ _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);

这有什么原因吗?我应该如何解决这个问题,使其在两台服务器上都能正常工作?


编辑:我对magic_quotes具有以下设置:


                     Local   Master


magic_quotes_gpc     On      On

magic_quotes_runtime Off     Off

magic_quotes_sybase  Off     Off


SMILET
浏览 703回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP