简体   繁体   English

响应 Post 请求时出现 400 错误

[英]Getting 400 error in response on Post request

My request function:我的要求 function:

var cnt=(new Date().getTime());

function requestp(path, data, run)
{
cnt++;

var request = new XMLHttpRequest();
request.open('POST', path+'?'+data+'&cprv='+cnt, true);
request.setRequestHeader('cache-control', 'no-cache, must-revalidate, post-check=0, pre-check=0');
request.setRequestHeader('expires', 'Thu, 19 Nov 1981 08:52:00 GMT');
request.setRequestHeader('pragma', 'no-cache');
request.addEventListener('readystatechange' ,function()
{
if ((request.readyState==4) && (request.status==200))
run( request.responseText);
}
);

request.send(data);

}

path+'?'+data+'&cprv='+cnt string is here, in pastebin . path+'?'+data+'&cprv='+cnt字符串在这里,在 pastebin 中

Running function with that parameters throws 400 response.使用该参数运行 function 会引发 400 响应。 I have been checking it for \n , \r symbols, but nothing.我一直在检查它的\n\r符号,但什么也没有。 Another strings works well.另一个字符串效果很好。 Any ideas what's wrong?有什么想法有什么问题吗?

There were some mistakes, which do not deal with http request, and the request function, that has edited earlier has mistake.有一些错误,没有处理http请求,前面编辑的请求function有错误。

In case of post request, open method should get only path, and parameters should be passed to send method.在 post 请求的情况下, open方法应该只获取路径,并且应该将参数传递给send方法。

var cnt=(new Date().getTime());

function requestp(path, data, run)
{
cnt++;

var request = new XMLHttpRequest();
request.open('POST', path, true);
request.setRequestHeader('cache-control', 'no-cache, must-revalidate, post-check=0, pre-check=0');
request.setRequestHeader('expires', 'Thu, 19 Nov 1981 08:52:00 GMT');
request.setRequestHeader('pragma', 'no-cache');
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); //perhaps it is necessary 
request.addEventListener('readystatechange' ,function()
{
if ((request.readyState==4) && (request.status==200))
run( request.responseText);
}
);

request.send(data+'&cprv='+cnt);

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM