当javascript fetch函数调用时,我的golang函数不会重定向到任何地方。这是我之前提出的问题的延伸,这个问题过于宽泛。 Facebook Oauth CORS error
这是我调用golang api的javascript fetch函数。
let config = {
method: 'GET',
}
fetch("http://localhost:7001/testFunction", config).then(response => {
...
这是我尝试重定向的golang函数
func testfunc(w http.ResponseWriter, r *http.Request) {
http.Redirect(w,r,"https://www.facebook.com/dialog/oauth?..", 302)
http.Redirect(w, r, "http://localhost:7001/", 302)
http.Redirect(w, r, "http://google.com/", 302)
}
结果应该是页面重定向到域外的页面,但我一直在网络上出现此错误。
Fetch API cannot load http://google.com. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
我不能使用no-cors模式,因为我需要重定向到该页面,甚至还要检索json。
我确保golang服务器标头正确并允许javascript源(localhost:3000)。我确保facebook上的oauth api允许golang服务器域(localhost:7001)。但是,当访问localhost域范围之外的域时,重定向始终被阻止。
答案 0 :(得分:1)
你不能这样做,你必须实际重定向浏览器(在弹出窗口或其他东西中打开它)。