我在尝试通过ajax请求通过post数据通过参数发送变量时遇到了很多麻烦,我无法让它因某些奇怪的原因而工作。当我使用实际变量包含的内容时,没有问题,但我不能这样做,因为它每次都会改变,所以不是使用硬编码的东西而是想尝试使用变量,它所包含的字符的字符集总是虽然如此。
var http=new XMLHttpRequest();
uri='http://www.example.com/profile.php';
http.open('POST',uri,true);
params='name=Tom&lastname=Jordan&'+variable+'='+secondvariable+';
http.setRequestHeader('Content-type','application/x-www-form-urlencoded');
http.setRequestHeader('Content-length',params.length);
http.setRequestHeader('Connection', 'close');
http.onreadystatechange=function(){
if(http.readyState==4&&http.status==200){
//alert(http.responseText);
}
};
http.send(params);
将变量与一些纯文本一起包含的正确语法是什么?或者我只是如何使这项工作?
答案 0 :(得分:2)
你有一个流浪的引用:
变化:
params='name=Tom&lastname=Jordan&'+variable+'='+secondvariable+';
为:
params='name=Tom&lastname=Jordan&'+variable+'='+secondvariable;
此外,请确保正确转义您的变量:
params='name=Tom&lastname=Jordan&'+variable+'='+encodeURIComponent(secondvariable);
答案 1 :(得分:0)
你有一个额外的单引号:
params='name=Tom&lastname=Jordan&'+variable+'='+secondvariable+';
最后+'
不是必需的,它将分号视为字符串。 (可能会导致语法错误。)