草庐IT

angular - Angular 4 前端中的 CORS 问题与运行 go API 后端的 Google Cloud Endpoints

coder 2023-07-01 原文

我无法从 Angular 4 前端调用在云端点后面的谷歌云中运行的 API。我收到以下错误:

对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin” header 。产地' http://localhost:4200 ' 因此不允许访问。响应具有 HTTP 状态代码 403。

我也在本地机器上运行 swagger,并从 swagger 成功调用 API。
我的各种设置如下:

OpenAPI(Swagger 规范):

host: MyApp.appspot.com
x-google-endpoints:
  - name: MyApp.appspot.com
    allowCors: true


GO 服务器 CORS 设置: 我正在使用“github.com/rs/cors”库

c := cors.New(cors.Options{
        AllowedOrigins:   []string{"*"},
        AllowedHeaders:   []string{"*"},
        AllowedMethods:   []string{"GET", "PUT", "POST", "HEAD", "POST"},
        AllowCredentials: true,
    })


Angular 4 应用程序:

const payloadHeaders = new Headers({'Access-Control-Allow-Origin' : 'http://localhost:4200','authorization':'Bearer *********'});
    var url = 'https://MyApp.appspot.com/users/user?u=' + username;
    this.http.get(url,{headers:payloadHeaders}).timeout(3000)
    .map((response) => {
      return response.json();
    }).subscribe(


swagger 和 angular 之间的唯一区别可能是它们发出 http 请求的方式……虽然我不确定。 Swagger 起源是“127.0.0.1:64298”,而 Angular 是“localhost:4200”

有谁知道我该如何解决这个 CORS 问题?

The Stackdriver log throws: Endpoints management skipped for an unrecognized >HTTP call: OPTIONS /users/user?u=xxxx@yyyy.com But I think I have taken care of that in GO server itself. So it is a bit >confusing.

谢谢!

最佳答案

我这边犯了一个愚蠢的错误。我错过了 Angular 中的路径组件。现在工作正常。

关于angular - Angular 4 前端中的 CORS 问题与运行 go API 后端的 Google Cloud Endpoints,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46488415/

有关angular - Angular 4 前端中的 CORS 问题与运行 go API 后端的 Google Cloud Endpoints的更多相关文章

  1. ruby-on-rails - Rails with angular 与 Rails pure(查看性能) - 2

    我尝试在Internet上搜索有关使用angularJS进入RubyonRails项目与RubyonRailspure的View性能的信息。我的问题是因为2个月前我开始使用纯AngularJS,现在我需要将AngularJS集成到一个新项目中,但需要展示使用带有RubyonRails的AngularJS呈现View的性能如何,并消除对RubyonRails的负担.例如:带Rails的Angular:使用RubyonRails获取数据(从数据库或GET请求),将信息发送到file.js.erb并使用AngularJS操作数据并显示带有解析数据的View。纯粹的Rails:(自然流程)使用

  2. ruby-on-rails - 将 Angular JS 与 Rails 集成 - 2

    我需要一些指导来了解如何将Angular整合到rails中。选择Rails的原因:我喜欢他们偏执的做事方式。还有迁移,gem真的很酷。使用angular的原因:我正在研究和寻找最适合SPA的框架。Backbone似乎太抽象了。我不得不在Angular和Ember之间做出选择。我首先开始阅读Angular,它对我来说很有意义。所以我从来没有去读过关于ember的文章。使用Angular和Rails的原因:我研究并尝试使用小型框架,例如grape、slim(是的,我也使用php)。但我觉得需要坚持项目的长期范围。我个人喜欢用Rails的方式做事。这就是我需要帮助的地方,我在Rails4中有

  3. ruby-on-rails - Heroku Cedar - 没有安装 Resque 前端的静态 Assets - 2

    我有一个简单的Rails应用程序部署到HerokuCedar堆栈。该应用程序使用Resque并安装了ResqueSinatra前端应用程序,因此我可以监控队列:#routes.rb...mountResque::Server,:at=>"/resque"这很好用,但是当部署到Heroku时,Resquefront-end'sCSS&JavaScript没有被送达。一段Heroku的日志表明它正在返回零字节:...2011-07-13T16:19:35+00:00heroku[router]:GETmyapp.herokuapp.com/resque/style.cssdyno=web.

  4. ruby-on-rails - 如何修复 `new' :String 的未定义方法 "Rack::Cors" - 2

    我是RubyonRails的新手,正在学习如何使用Angular,但是在我运行“geminstallrack-cors”之后,当我尝试启动Rails应用程序时,我保持收到此错误:C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/actionpack-5.1.1/lib/action_dispatch/middleware/stack.rb:35:in`build':undefinedmethod`new'for"Rack::Cors":String(NoMethodError)Didyoumean?nextfromC:/Ruby23-x64/lib/ruby

  5. ruby - 将 Ember.js 与简单的 Sinatra 后端集成 - 2

    有很多文档介绍如何构建和创建以Rails作为后端的Ember.js应用程序。流行的解决方案是使用gems作为ember-rails和ember-source或合二为一的ember-appkit-rails。但是我正在尝试创建一个简单的Sinatra应用程序,该应用程序以Ember.js作为前端来处理仅JSON后端。我发现的少数资源似乎有点过时,所以我正在寻找简单的方法来做到这一点。所以我的问题是:我如何将Ember.js与简单的Sinatra后端集成?如何执行此操作的示例将不胜感激。 最佳答案 有一个verysimplerepoon

  6. (一)专题介绍:移动端安卓手机改造成linux服务器&linux服务器中安装软件、部署前后端分离项目实战 - 2

    快捷目录前言一、涉及到的相关技术简介二、具体实现过程及踩坑杂谈1.安卓手机改造成linux系统实现方案2.改造后的手机Linux中软件的安装3.手机Linux中安装MySQL5.7踩坑实录4.手机Linux中安装软件的正确方法三、Linux服务器部署前后端分离项目流程1.前提准备(安装必要软件,搭建环境):2.前后端分离项目的详细部署过程:总结前言总体概述:本篇文章隶属于“手机改造服务器部署前后端分离项目”系列专栏,该专栏将分多个板块,每个板块独立成篇来详细记录:手机(安卓)改造成个人服务器(Linux)、Linux中安装软件、配置开发环境、部署JAVA+VUE+MySQL5.7前后端分离项目

  7. ruby - 无法从 ruby​​gems.org 安装 'cocoapods' gem(不良响应后端读取错误) - 2

    当我在OSXMavericks上运行“geminstallcocoapods”时出现错误。$geminstallcocoapodsERROR:Couldnotfindavalidgem'cocoapods'(>=0),hereiswhy:Unabletodownloaddatafromhttps://rubygems.org/-badresponsebackendreaderror503(https://rubygems.global.ssl.fastly.net/quick/Marshal.4.8/cocoapods-0.27.1.gemspec.rz)ERROR:Possiblea

  8. 与Angular 2集成时,Bootstrap下拉列表和Bootstrap TagSinput不起作用 - 2

    Bootstrap下拉代码正常工作(无角2),但相同的代码与Angular2集成在一起,它无法按预期工作。HTML和CSS代码:[下拉活动正在工作。]YoucanLoginSignupHTML和具有角2的CSS[下拉行动不起作用。]YoucanLoginSignup看答案LoginSignup尝试此..使用最终版本,除非您有路径参数,否则RouterLink不应用作套餐。然后在路由器文件中RouterModule.forRoot([{path:"login",component:},{path:"signup",component:}])

  9. ruby-on-rails - 如何在 Rails 4 应用程序中启用 CORS - 2

    我正要把我的头发拉出来...从早上开始我就一直在尝试在此Rails应用程序中启用CORS,但它不起作用。我试过了this,使用RackCorsGem,thisanswer还有这个post都没有成功。有人能指出我正确的方向吗?这是我的js:varreq=newXMLHttpRequest();if('withCredentials'inreq){//req.open('GET',"https://api.github.com/users/mralexgray/repos",true);req.open('GET',"http://www.postcoder.lc/postcodes/"+

  10. Angular 4懒负载模块与名称的儿童插座无效 - 2

    我正在尝试为模块实现懒惰加载。该模块有一堆儿童路线独特的出口名称。当我尝试访问路线时,这似乎不起作用。从我保存的这个示例中,这似乎可以:https://plnkr.co/edit/nnxaozitm00riixzemts?p=preview您可以看到我有孩子的路线{path:'list',component:HeroListComponent,outlet:'abc'},在hero-routing.module.ts和路由器出口:在hero.com.ponent.ts当我在本地运行时,我应该能够访问Localhost:3000/Heroes/(ABC:List),但似乎不起作用。注意:您可以通

随机推荐