高语 : Setting header to null for a file://to http://request not working

标签 go header server cors local

This answer 关于静态到静态 (file://-> file://) 指出网络服务器 (http://) 可用于在不违反 CORS 的情况下将文件提供给本地静态页面 (file://) . this answer 指出,当从网络服务器向静态页面发送数据时,必须使用 null header 。但是下面两行都不起作用,那么我该怎么做呢?

func handler(w http.ResponseWriter, r *http.Request) {
    w.Header().Add("Access-Control-Allow-Origin", nil) //this line
    fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
}

返回错误 ./main.go:42: cannot use nil as type string in argument to w.Header().Add

func handler(w http.ResponseWriter, r *http.Request) {
    w.Header().Add("Access-Control-Allow-Origin", "")
    fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
}

这会编译但会抛出客户端错误:跨域请求被阻止:同源策略不允许读取位于 http://localhost:8080/aardvark/posts 的远程资源。 (原因:缺少 CORS header “Access-Control-Allow-Origin”)

最佳答案

写完这个问题后,我绝望地想尝试最后一件事,结果成功了。

func handler(w http.ResponseWriter, r *http.Request) {
    w.Header().Add("Access-Control-Allow-Origin", "null")
    fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
}

您应该将字符串设置为 "null",而不是空字符串 ""nil

如果你觉得这个问题不属于SO,欢迎留言,我会及时撤下。

关于高语 : Setting header to null for a file://to http://request not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35966549/

相关文章:

go - 何时在 Go 中刷新文件?

php - 为什么我的 301 重定向需要这么长时间?

ruby-on-rails - 在 Rails 应用程序上使用 Prawn gem 重复页脚与当前页面和每页的总页数,但重叠当前页码

ubuntu - curl 错误无法解决我的主机问题,但可以通过 google 解决

linux - 在专用主机上安装 Apache 服务器

go - MapScan 无法解码为非指针 int64

data-structures - 在 Go 中存储和迭代命名嵌套数据结构的惯用方法?

php - 在 PHP 中使用 Header 作为下载链接

java - FTP客户端/服务器登录验证

postgresql - 无法连接到 docker 容器内的 postgresql