简体   繁体   中英

Getting 400 error in response on Post request

My request 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 .

Running function with that parameters throws 400 response. I have been checking it for \n , \r symbols, but nothing. 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.

In case of post request, open method should get only path, and parameters should be passed to send method.

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);

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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