+ -
当前位置:首页 → 问答吧 → 关于POST特殊字符的问题——仅两个字符不配合!!!!!

关于POST特殊字符的问题——仅两个字符不配合!!!!!

时间:2011-06-12

来源:互联网

环境平台:Linux + ajax + php + apache

由textarea输入信息,post方式发送信息,这里由ajax实现。再由php接收,并处理。
textarea里输入的就是普通的字符(ASCII或UTF-8等)

如果是"[A,Z][a,z]<[A,Z][a,z]" 这种情况,'<' 之后的字符就全没有接收到或者发送出去;
如果是"[A,Z][a,z]<[A,Z][a,z]>" 这种情况,'<'和'>" 之间的字符就全没有接收到或者发送出去;
还有,所有的换行符都没有接收到或者发送出去。其他暂时没发现。

这是怎么回事?怎么解决?我加了encodeURIComponent。

下面是ajax的代码,其他代码就不贴了
JScript code
var cpp;

function fun()
{
    cpp=GetXmlHttpObject();
    if (cpp==null)
    {
        alert ("Browser does not support HTTP Request");
          return;
    } 
    var url = "fun.php";
    url=url+"?sid="+encodeURIComponent(Math.random());
    var code = document.getElementById("n1").value;
    code = "content=" + encodeURIComponent(code);
    
    cpp.open("POST",url,true);
    cpp.onreadystatechange=stateChanged;
    cpp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    cpp.send(code);
} 

function stateChanged() 
{ 
if (cpp.readyState==4 || cpp.readyState=="complete")
 { 
 document.getElementById("n3").innerHTML=cpp.responseText;
 } 
}

function GetXmlHttpObject()
{
var cppobj=null;
try
 {
// Firefox, Opera 8.0+, Safari
 cppobj=new XMLHttpRequest();
 }
catch (e)
 {
 // Internet Explorer
 try
  {
  cppobj=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  cppobj=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return cppobj;
}



作者: haoshen1987   发布时间: 2011-06-12

Ah, why ?????

作者: haoshen1987   发布时间: 2011-06-12

fun.php页面你是怎么处理发送的字符串的?

因该是你接受的问题,发送肯定会发送<>之间的内容的

作者: showbo   发布时间: 2011-06-12