- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有与 goapp 服务器交互的 polymer 前端。只要我不在 header 中传递授权 token ,一切都可以正常工作。这是 Polymer 端的代码
<iron-ajax
auto
url="http://localhost:8080/ephomenotes"
handle-as="json"
last-response="{{response}}"
headers="[[_computeHeader()]]"
debounce-duration="300"></iron-ajax>
_computeHeader() {
var token = localStorage.getItem("savedToken");
var obj = {};
obj.Authorization = "Bearer " + token;
return obj;
//return {"Authorization": "Bearer " + token};
}
在golang服务器端
w.Header().Set("Access-Control-Allow-Credentials", "true")
if origin := r.Header.Get("Origin"); origin != "" {
w.Header().Set("Access-Control-Allow-Origin", origin)
}
w.Header().Set("Access-Control-Allow-Headers", "Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization")
if r.Method == "OPTIONS" {
return
}
请注意,我从 polymer 代码中删除了 headers="[[_computeHeader()]]"然后它就可以工作了。但是使用授权 token 时它会抛出以下错误。
XMLHttpRequest cannot load http://localhost:8080/ephomenotes. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8081' is therefore not allowed access.
请帮忙
最佳答案
解决了这个问题..
为选项创建新路线
r.OPTIONS("/ephomenotes", optionsheader)
r.GET("/ephomenotes", env.EPHomePage)
这是新功能。
func optionsheader(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
w.Header().Set("Access-Control-Allow-Credentials", "true")
if origin := r.Header.Get("Origin"); origin != "" {
w.Header().Set("Access-Control-Allow-Origin", origin)
}
w.Header().Set("Access-Control-Allow-Headers", "Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization")
// w.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE")
}
但是我不确定,为什么这个有效?
关于google-app-engine - CORS 授权 polymer 和 goapp golang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44102754/
云帮帮我, 我正在尝试从下面的链接设置本地开发服务器 https://cloud.google.com/appengine/docs/standard/go/tools/using-local-ser
我的系统: golang 1.2.1 go appengine sdk v1.9.1 windows 使用命令行: goapp 服务 (作品) goapp 部署 (不是,告诉我它在我的 windows
在遵循 Google App Platform 网站上的 golang 示例时,我发现它建议将源文件直接放入应用程序文件夹的子文件夹中,例如 app/ hello/ hello.go
在 ubuntu 18.04LTS 上,我使用 nginx 反向代理我的 go 应用程序。 当我在命令行上运行 goapp 时它可以工作,但是当我试图将 goapp 置于 systemd 控制下时。
我对 Golang 的设置很困惑。 我下载了 go_appengine_sdk_darwin_amd64-1.9.48.zip。 当我解压缩 zip 文件时,我找不到 goapp 二进制文件。 看起来
我正在尝试使用 Gikngo为应用引擎编写一些测试。 我的测试设置如下: suite_test.go: BeforeSuite() { inst, err = aetest.NewInstance
我正在 Ubuntu 服务器上制作我的第一个 go 应用程序。当我使用可执行文件或简单地运行 main.go 来运行我的服务器时,我得到了要呈现的初始 html 页面,但没有 css、图像或 js。这
Google 的 AppEngine 服务提供最终一致的数据库,用于存储生产中的应用程序数据。为了进行测试,Google 提供了一个类似的数据库来模拟生产数据库的一致性特征。测试要求可能会有所不同,因
尝试登录后出现无效的用户名或密码错误 goapp deploy myapp/ 在 Google App Engine Go 之后教程。 最佳答案 只是为了将答案作为实际答案: 使用以下内容 goapp
使用 go 1.2 python 2.7 和 appengine 1.8.9 dev_appserver.py 在 dos 框中工作,位于 windows 路径中。 goapp.exe 也适用于 do
我正在尝试运行 GAE测试多个包。我的应用程序 (testapp) 如下所示: testapp> README.md package1 package2 每个包都有两个go文件。一个是包本身,
升级到 go_appengine SDK 1.9.54 版本后,我总是得到以下警告,即使只是在应用程序目录中使用一两个 .go 文件。因此,不会自动检测到文件更改,也不会重建应用。 $ goapp 服
根据this doc 我已经将“Cloud SDK”下载到我的目录中:/Users/k/.google-cloud-sdk 和“Original App Engine SDK”进入我的目录:/User
我有与 goapp 服务器交互的 polymer 前端。只要我不在 header 中传递授权 token ,一切都可以正常工作。这是 Polymer 端的代码 _computeHeader() {
我正在尝试让测试在我的本地开发机器上运行 Cloud SDK 版本是:159.0.0 我读过的所有内容都说我不应该更改 GOROOT,所以我不确定如何解决这个问题。 $/Users/bryan/goo
package helloworld import ( "fmt" "net/http" "appengine" "appengine/user" ) func init() {
我正准备为我的谷歌云应用程序编写测试。我阅读了文档,似乎在本地运行测试的唯一方法是在测试包目录中运行命令 goapp test。但是当我运行命令时,出现错误 go: GOPATH entry is r
在我的 Google App Engine Go 项目中,当我运行 goapp test 时,出现以下错误: runtime.main_main: main.main: not defined run
我是 appengine 的新手,已经安装了来自 AUR(arch 用户存储库)的 google-cloud-sdk 和位于/opt/google-cloud-sdk 的 google-appengi
我使用 Gorilla mux 包编写了一个 REST API,所有数据都存储在 MySQL 数据库中。我正在使用 go-sql-driver/mysql 包来访问它。 当我直接编译并运行 bin 时
我是一名优秀的程序员,十分优秀!