在发布请求时收到400错误的回复

问题描述 投票:0回答:1

我的请求功能:

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字符串是here, in pastebin

具有该参数的运行函数将引发400个响应。我一直在检查它是否包含\n\r符号,但是什么也没有。另一个字符串效果很好。有什么想法吗?

javascript xmlhttprequest http-status-code-400
1个回答
0
投票

存在一些错误,这些错误不能处理http请求,并且先前编辑的请求函数有错误。

在发布请求的情况下,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);

}
© www.soinside.com 2019 - 2024. All rights reserved.