Steam 发布请求 - 无法加载资源:服务器响应状态为 400(请求错误)

Steam Post Request - Failed to load resource: the server responded with a status of 400 (Bad Request)

提问人:Varun Iyer 提问时间:9/1/2014 最后编辑:Varun Iyer 更新时间:3/12/2021 访问量:6926

问:

我正在尝试发送这样的帖子请求:

xhr.open("POST", "/steamapi/actions/RemoveFriendAjax", false);
    var params = "sessionID="+session_id+"&steamid="+id;
    xhr.onreadystatechange = function() {//Call a function when the state changes.
        if(xhr.readyState == 4 && xhr.status == 200) {
            alert(xhr.responseText);
        }
    }   
xhr.send(params);

我正在使用Apache服务器,这是我的文件.htaccess

RewriteEngine On
RewriteRule ^api/(.*)$ http://api.steampowered.com/$1 [P]
RewriteRule ^(.*)$ http://steamcommunity.com/$1 [P]
 <IfModule mod_headers.c>
    Header add Access-Control-Allow-Origin "*"
    Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
    Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
 </IfModule>

每当我发送请求时,我都会收到以下错误:

Failed to load resource: the server responded with a status of 400 (Bad Request) 
enter code here

为什么会这样?我已经在 Steam 上使用了 GET 请求,它们工作正常,把这个 POST 请求似乎不起作用。

编辑:这是文件:steamcommunity.com'srobot.txt

User-agent: *
Disallow: /actions/
Disallow: /linkfilter/
Host: steamcommunity.com

它说,那么这就是我收到错误的原因吗?Disallow: /actions/400

JavaScript Apache .htaccess 发布 Steam

评论

0赞 Jon Lin 9/5/2014
你确定它应该在第一个重写规则中而不是在第一个重写规则中吗?您确定已加载mod_proxy吗?^api/$^steamapi/$
0赞 Varun Iyer 9/9/2014
steamapi 是我的 localhost 服务器上的站点名称

答:

0赞 Kernel James 9/3/2014 #1

你用过吗?setRequestHeader

xhr.open("POST", "/steamapi/actions/RemoveFriendAjax", false);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

评论

0赞 Kernel James 9/4/2014
设置 jsFiddle 并在此处发布。
0赞 Varun Iyer 9/4/2014
我将如何设置它?
1赞 Kernel James 9/5/2014
它只是一个站点 jsfiddle.net 您可以在其中创建问题的公共工作页面,人们可以查看并尝试调试问题。
0赞 Kernel James 9/5/2014
或者,如果您已经有一个公共服务器托管了有问题的网站,只需在此处发布链接即可。
1赞 Varun Iyer 9/5/2014
这是 JSFidle:它没有引用 JavaScript 方法,我不知道为什么。jsfiddle.net/Varun_5/t5guw1c7/3