我正在使用邮政PIN码API 来获取在Angle 5应用程序中通过邮政PIN码搜索邮局详细信息。以下是外部API的网址:
http://postalpincode.in/api/pincode/ {** PINCODE } **
我正在从应用程序发出GET请求,但它给了我以下错误:
所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问来源“ http://localhost:4200”
尽管此请求在浏览器和邮递员那里工作得很好。我了解我们需要为服务器配置跨域策略,以接受跨域请求,但这是一个外部API,我无法控制它。我该如何解决这个问题?
预先感谢!
答案 0 :(得分:0)
最佳:CORS标头(需要更改服务器)CORS(跨域资源共享)是服务器说“即使您来自其他来源,我也将接受您的请求”的一种方式。这需要与服务器–因此,如果您无法修改服务器(例如,如果使用外部API),则此方法将无效。
修改服务器以添加标头Access-Control-Allow-Origin:*,以从任何地方启用跨域请求(或指定域而不是*)。这应该可以解决您的问题。
第二选择:代理服务器如果您无法修改服务器,则可以运行自己的代理。如果此代理与页面的来源不同,则该代理可以返回Access-Control-Allow-Origin标头。
您将向代理发送请求,而不是将API请求发送到某个远程服务器。
以下是一些代理选项。
参考:https://daveceddia.com/access-control-allow-origin-cors-errors-in-angular/