Php javascript空文本ajax

Php javascript空文本ajax,php,javascript,ajax,class,function,Php,Javascript,Ajax,Class,Function,我有一个php脚本,我正在使用ajax。我有一个与ajax类连接的textarea表单 当我传递一个类似(&some text)的文本时,函数返回一个空文本,我想(&)有问题 javascript函数: function sendFormData(idForm, dataSource, divID, ifLoading) { var postData=''; var strReplaceTemp; if(XMLHttpRequestObject) { XMLHttpRe

我有一个php脚本,我正在使用ajax。我有一个与ajax类连接的textarea表单

当我传递一个类似(
&some text
)的文本时,函数返回一个空文本,我想(
&
)有问题

javascript函数:

function sendFormData(idForm, dataSource, divID, ifLoading)
{
  var postData='';
  var strReplaceTemp;

  if(XMLHttpRequestObject)
  {
    XMLHttpRequestObject.open("POST", dataSource);
    XMLHttpRequestObject.setRequestHeader("Method", "POST " + dataSource + " HTTP/1.1");
      XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    XMLHttpRequestObject.onreadystatechange = function()
    {
      if (XMLHttpRequestObject.readyState == 4 &&
          XMLHttpRequestObject.status == 200)
      {
        try
        {
          var objDiv = document.getElementById(divID);
          objDiv.innerHTML = XMLHttpRequestObject.responseText;
        }
        catch(e){document.write("sendFormData: getElementById(divID) Error");}
      }
      else
      {
        if(ifLoading)
        {
          try
          {
            var objDiv = document.getElementById(divID);
            objDiv.innerHTML = "<img src=loading.gif>";
          }
          catch(e){document.write("sendFormData->ifLoading: getElementById(divID) Error");}
        }
      }
    }

    for(i=0; i<document.getElementById(idForm).elements.length - 1; i++)
    {
      strReplaceTemp = document.getElementById(idForm).elements[i].name;
      postData += "&aryFormData["+strReplaceTemp+"][]="+document.getElementById(idForm).elements[i].value;
    }

    postData += "&parm="+new Date().getTime();
    try
    {
      XMLHttpRequestObject.send(postData);
    }
    catch(e){document.write("sendFormData: XMLHttpRequestObject.send Error");}
  }
}
函数sendFormData(idForm、dataSource、divID、ifload)
{
var postData='';
var-strReplaceTemp;
if(XMLHttpRequestObject)
{
XMLHttpRequestObject.open(“POST”,数据源);
setRequestHeader(“方法”、“POST”+数据源+“HTTP/1.1”);
setRequestHeader(“内容类型”、“应用程序/x-www-form-urlencoded”);
XMLHttpRequestObject.onreadystatechange=函数()
{
如果(XMLHttpRequestObject.readyState==4&&
XMLHttpRequestObject.status==200)
{
尝试
{
var objDiv=document.getElementById(divID);
objDiv.innerHTML=XMLHttpRequestObject.responseText;
}
catch(e){document.write(“sendFormData:getElementById(divID)错误”);}
}
其他的
{
如果(i加载)
{
尝试
{
var objDiv=document.getElementById(divID);
objDiv.innerHTML=“”;
}
catch(e){document.write(“sendFormData->ifload:getElementById(divID)错误”);}
}
}
}

对于(i=0;i当我看到HTML和&和问题时,我会确保我的字符编码都正确指定


此外,PHP脚本中的代码可能会被未转义的“&”字符阻塞。

如果使用Javascript传递,请确保您的&使用&;进行编码。所有&都需要进行编码,否则某些浏览器可能会有点崩溃,任何验证程序都会向您抱怨。

如果您包装document.getElementById(idForm).elements,则在函数中使用&[i] .value,甚至是带有“encodeURI()的strReplaceTemp(在postData+=”行中),您在正确接收数据方面不会有任何问题。

您能发布一段您正在使用的代码吗?如果我们知道您问题的上下文,回答起来可能会更容易。这篇文章可以用一个更好的标题。哦,天哪,手写的AJAX。/shubdder如果它不起作用,那么您的PHP可能会受到责备。您可以尝试转义或者encodeURIComponent而不是encodeURI,但encodeURI应该可以做到这一点。当您在尝试中抛出警报(postData)时,它会说什么?