Php javascript空文本ajax
我有一个php脚本,我正在使用ajax。我有一个与ajax类连接的textarea表单 当我传递一个类似(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
&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)时,它会说什么?