我正在尝试通过调用带参数的Perl脚本在XMLHTTPRequest中使用POST方法。 我检查过这些变量(uName,uProject等)是有效的。当我从命令行手动传递参数时,write.pl也可以工作 但是,参数在传递时会显示为空白。请帮忙。
request.open("POST", "/cgi-bin/write.pl", true);
var params = uName + " " + uProject +" " + uSVAC + " " + uEVAC + " " + uLevel;
alert (params);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send(params);
答案 0 :(得分:1)
您正在用空格(“”)分隔参数。 x-www-form-urlencoded表示必须用&符号&
分隔,并且必须对值中的任何特殊字符进行编码(空格为%20
,&符号为%26
等) 。您还需要为参数提供名称。
如
var params = 'uName=' + uname + '&uProject=' + uProject + '&uSVAC=' + uSVAC +
'&uEVAC=' + uEVAC + '&uLevel=' + uLevel;