HTTP授权标头不与离子2中的codeigniter api一起发送

时间:2017-06-17 06:09:01

标签: ionic-framework ionic2 http-headers authorization

在API中他们没有授权就可以打电话。

如何为它设置标题? “谢谢”

let headers: Headers = new Headers({ 'Authorization': token, 'Content-Type': 'application/json; charset=UTF-8' });`

let options: RequestOptions = new RequestOptions({headers: headers});

let params: URLSearchParams = new URLSearchParams();
params.append('latitude', '23.259933');
params.append('longitude', '77.412615');
params.append('nearby', '5');

return this.http.post(baseUrl, params, options)
            .map(
                (response: Response)=>{
                    return response;
                }
            )

Chrome控制台:

Response for preflight has invalid HTTP status code 404

1 个答案:

答案 0 :(得分:0)

这是因为浏览器在发送实际请求(所谓的preflight)之前将请求的标头发送到服务器,以便验证您的请求是否符合CORS策略在服务器的配置中定义

因此,您需要做的是仔细检查您正在联系的服务器是否已正确配置,以便在您完成时接受请求。

确保您的后端服务器不仅接受POST请求,还接受同一端点URL的OPTIONS请求。 OPTIONS请求应该返回成功的200代码。

在该服务器上,当用户点击请求类型为/abc的端点POST时,您可能会遇到类似#34;然后返回一些数据"。当用户点击请求类型/abc返回OPTIONS"

的用户点{/ 1}}时,您还需要说出"

如果所有其他方法都失败了,您可以尝试在浏览器中使用this plugin,但请记住,这只会有助于继续开发,并且是一种在生产过程中无法正常工作的创可贴解决方案。< / p>