首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何将CORS添加到compojure-api应用程序中?

我如何将CORS添加到compojure-api应用程序中?
EN

Stack Overflow用户
提问于 2018-10-10 16:45:07
回答 1查看 802关注 0票数 3

如何将CORS添加到此代码段中?

代码语言:javascript
复制
(def app
    (api
        {:swagger {:ui   "/docs"
                   :spec "/swagger.json"}}

       (GET "/route-a" [] "a")
       (GET "/route-b" [] "b")
       (GET "/route-c" [] "c")))

我想使用https://github.com/r0man/ring-cors,并且已经尝试过了,但是它似乎什么也没做。我希望看到响应头包含访问控制-允许-起源,但它是缺少的。

代码语言:javascript
复制
(-> (api
   {:swagger {:ui   "/docs"
              :spec "/swagger.json"}}

   (GET "/route-a" [] "a")
   (GET "/route-b" [] "b")
   (GET "/route-c" [] "c"))

  (wrap-cors :access-control-allow-origin #"http://localhost:81"
             :access-control-allow-headers ["Origin" "X-Requested-With"
                                        "Content-Type" "Accept"]
             :access-control-allow-methods [:get :put :post :delete :options]))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-11 22:58:19

只有当请求具有与指定的regex匹配的Origin头(当在浏览器中使用XMLHttpRequest发出请求时,源标头会自动添加),才会返回特定于CORS的响应头。

如果你尝试:

代码语言:javascript
复制
curl -vH "Origin: http://localhost:81" localhost:3000/route-a

(假设您的API在端口3000上可用),您将看到添加了必要的响应头。来自http://localhost:81的AJAX请求也应该可以工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52745107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档