繁体   English   中英

如何使用GET发送正文请求

[英]How to send a body request with GET

我正在使用angularjs,并且必须通过服务使用路径参数(id),查询参数(var1和var2) 和主体请求 ({“ codes”:[“ 1000”]对服务器进行调用})-必须在get方法中作为字符串数组发送(我知道,发送正文请求应在POST中完成)。

到目前为止,我的服务有:

        function getSub(id, var1, var2) {
           var payload = {
               first: var1,
               second: var2
           };

           var url = 'sub/' + id + '/mylink'
           return api.get(url, payload, {"codes": ["1000"]}).then(function (response) {
               console.log("READ RESPONSE ", response);
               return response;
           });
        };

到目前为止,我得到的只是一个错误的请求错误,该错误链接到未提供的响应正文。

这可能是一个菜鸟问题,而不是最佳实践问题,但是我需要为此找到解决方案。 到目前为止,通过远距离搜索网络,我只能理解这是使用正文请求的非常规方法。

提前致谢!

是的,您可以使用GET发送请求正文,但这没有任何意义。 您可以在服务器上解析它并根据其内容修改响应,而在HTTP / 1.1规范的第4.3节中忽略了此建议

据我所知,该标准没有关于get类型请求主体的声明。 因此,这是经典之举,取决于实现方式 无论如何,实现往往不支持这种组合。 XMLHttpRequest是其中之一:

send()接受一个可选参数,该参数使您可以指定请求的正文; 这主要用于PUT之类的请求。 如果请求方法是GET或HEAD,则将忽略body参数,并将请求主体设置为null。

暂无
暂无

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

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