:::info 支持。 :::

默认已开启

  1. // see internal/router/router.go
  2. ...
  3. mux, err := core.New(logger,
  4. ...
  5. core.WithEnableCors(),
  6. ...
  7. )
  8. // 默认设置 core.WithEnableCors() 表示开启跨域。
  9. // 如果不写这一行,表示不开启跨域。

如何验证

  1. // 例如,打开百度页面,在控制台中输入下面代码即可验证
  2. var jq = document.createElement("script");
  3. jq.src = "https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js";
  4. document.body.appendChild(jq);
  5. var $=jQuery.noConflict();
  6. $.ajax({
  7. url: "http://127.0.0.1:9999/api/login",
  8. type: "POST",
  9. });

支持跨域

image.png

不支持跨域

image.png

跨域代码片段

  1. // see internal/pkg/core/core.go
  2. ...
  3. mux.engine.Use(cors.New(cors.Options{
  4. AllowedOrigins: []string{"*"},
  5. AllowedMethods: []string{
  6. http.MethodHead,
  7. http.MethodGet,
  8. http.MethodPost,
  9. http.MethodPut,
  10. http.MethodPatch,
  11. http.MethodDelete,
  12. },
  13. AllowedHeaders: []string{"*"},
  14. AllowCredentials: true,
  15. OptionsPassthrough: true,
  16. }))