我有一个客户端JavaScript代码,使用XmlHttpRequest()
POST方法向服务器发送命令。客户端代码是:
var serverURL = "http://myserver.com:3000"
function sendCommand(command, argsForCommand) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = recvResponse;
xhr.open("POST", (serverURL + "/" + command), true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(argsForCommand);
}
服务器需要以以下格式发送POST消息:
POST HTTP / 1.1
.... HTTP标头....
.... HTTP标头....
argsForCommand
即。服务器必须执行的命令是POST行的一部分,参数(可能是短的或长的)都在消息正文中。
服务器是我自己编写的并且已经与另一个客户端进行过测试的服务器,因此我知道服务器端正在运行。服务器侦听非标准端口(本例中为3000)以获取来自客户端的连接。
我的问题是,在我的代码调用sendCommand()
函数后,我只在服务器上获取POST消息,直到HTTP头;我没有得到参数(POST消息体)。如果我刷新代码执行的客户端页面,则参数将显示在服务器上。我非常感谢您对我可能遗失的任何帮助。