我正在使用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;
});
};
到目前为止,我得到的只是一个错误的请求错误,该错误链接到未提供的响应正文。
这可能是一个菜鸟问题,而不是最佳实践,但我急需找到解决方案。到目前为止,通过远距离搜索网络,我只能理解这是使用正文请求的一种非常规方法。
谢谢!
答案 0 :(得分:2)
是的,您可以使用GET发送请求正文,但这没有任何意义。您可以在服务器上解析它并根据其内容修改响应,而在HTTP / 1.1 specification, section 4.3:
中则忽略了此建议答案 1 :(得分:1)
据我所知,该标准没有关于get
类型请求的主体的声明。因此,这是经典的,它取决于实现方式。无论如何,实现往往不支持这种组合。 XMLHttpRequest是其中之一:
send()接受一个可选参数,该参数可让您指定请求的正文;这主要用于PUT之类的请求。如果请求方法是GET或HEAD,则将忽略body参数,并将请求正文设置为null。