我正在使用angularjs,从我的服务中我必须使用路径参数(id),查询params(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;
});
};
到目前为止,我得到的是与未提供的响应主体相关联的错误请求错误。
这可能是一个noob问题,而不是最佳实践问题,但我应该为此找到解决方案。到目前为止,通过远距离搜索网络,我只能理解这是一种使用身体请求的非正统方式。
提前致谢!
是的,您可以使用GET发送请求正文,但这没有任何意义。您可以在服务器上解析它并根据其内容修改您的响应,您将忽略HTTP / 1.1 specification, section 4.3:中的此建议
据我所知,该标准没有关于get
类型请求的正文的陈述。因此这是一个经典的,取决于实施。无论如何,实现往往不支持这样的组合。而XMLHttpRequest就是其中之一:
send()接受一个可选参数,允许您指定请求的正文;这主要用于PUT等请求。如果请求方法是GET或HEAD,则忽略body参数并将请求主体设置为null。