gpt4 book ai didi

angular - 如何创建跨域请求?

转载 作者:太空狗 更新时间:2023-10-29 16:47:03 30 4
gpt4 key购买 nike

如何使用 Angular 2 创建跨域请求?

能举个例子吗?
比如localhost:3000和localhost:8000跨域之间的请求

最佳答案

其实Angular2里面对于跨域请求是没有办法的。 CORS 是浏览器原生支持的东西。此链接可以帮助您了解其工作原理:

简而言之,在跨域请求的情况下,浏览器会自动在请求中添加一个Origin header。有两种情况:

  • 简单请求。如果我们使用 HTTP GET、HEAD 和 POST 方法,则此用例适用。对于 POST 方法,仅支持具有以下值的内容类型:text/plainapplication/x-www-form-urlencodedmultipart/表单数据.
  • 预检请求。当“简单请求”用例不适用时,将发出第一个请求(使用 HTTP OPTIONS 方法)以检查在跨域请求的上下文中可以做什么。

所以实际上大部分工作必须在服务器端完成以返回 CORS header 。主要的是 Access-Control-Allow-Origin 一个。

200 OK HTTP/1.1
(...)
Access-Control-Allow-Origin: *

要调试此类问题,您可以在浏览器中使用开发人员工具(“网络”选项卡)。

关于 Angular2,只需像任何其他请求一样使用 Http 对象(例如相同的域):

return this.http.get('https://angular2.apispark.net/v1/companies/')
.map(res => res.json()).subscribe(
...
);

关于angular - 如何创建跨域请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34790051/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com