- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个简单的 API,它返回 JSON
数据返回给用户。出于开发目的,我想启用 CORS,以便我的 react
前端可以在本地调用API。目前,它提示
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:3001' is therefore not allowed access.
(app ..)
,
(wrap-cors ...)
不提供跨源头。
(wrap cors ...)
其次是
(wrap-defaults ...)
不起作用。
(ns qitab-api.handler
(:require [compojure.core :refer :all]
[compojure.route :as route]
[ring.middleware.defaults :refer [wrap-defaults site-defaults]]
[ring.middleware.json :refer [wrap-json-response wrap-json-body]]
[ring.middleware.cors :refer [wrap-cors]]
[ring.util.response :as r]))
(defroutes app-routes
(GET "/" []
(r/response {:hello "World!!"}))
(route/not-found "Not Found"))
(def app
(-> app-routes
wrap-json-body
wrap-json-response
(wrap-defaults site-defaults)
(wrap-cors :access-control-allow-origin [#".*"] :access-control-allow-
headers [:get])))
最佳答案
:access-control-allow-headers
应该是 :access-control-allow-methods
.那么它应该工作。
关于clojure - 如何在 Compojure 中使用 CORS 和 JSON 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51503910/
我正在尝试使以下任何映射工作以映射 http://mysite.org/add?http://sitetoadd.com或 http://mysite.org/add?u=http://sitetoa
我在以下Compojure示例中获取表单参数时遇到问题: (ns hello-world (:use compojure.core, ring.adapter.jetty) (:require
尽管添加了换行参数等,我的 Compojure Web 应用程序 ([compojure "1.0.1"]) 始终收到空参数映射。代码示例如下: (defroutes public-routes
我已经为此苦恼了两天多了,但似乎没有找到解决方案。 所以我想做的就是在浏览器中显示图像,但是当我调用端点时,会发生以下情况: Cannot JSON encode object of class: c
我有一个小型 compojure 站点,其路由定义如下: (defroutes example (GET "/" [] {:status 200 :headers {
我有一堆共享相同页眉和页脚的静态 html 文件。我想要在所有页面上共享此页眉和页脚。现在我使用以下路由,但它有点难看,我必须处理所有特殊情况。有没有简单的方法可以做到这一点,例如 php 的 inc
我有一个使用 Compojure 和这种端点的应用程序 (defroutes routes (POST "/api/v1/echo" req (str req)) (def http-handle
我正在尝试理解 compojure 中间件: 以下代码来自compojure template : (def app (wrap-defaults app-routes site-defaults
我正在使用带有基本身份验证中间件的 Compojure 编写 Web API。基本身份验证部分类似于: (defn authenticated? [id pass] (and (= id "b
我有一个使用 Compojure 和这种端点的应用程序 (defroutes routes (POST "/api/v1/echo" req (str req)) (def http-handle
我的代码: (defn json-response [data & [status]] {:status (or status 200) :headers {"Content-Typ
我正在使用 Compojure 1.6.0 构建网络应用程序。对于第三方 JS 库,我使用 npm 安装它们,将它们放在一个名为 node_modules 的文件夹中(不可自定义)。为了服务他们,我这
这是我的 project.clj 文件: (defproject org.github.pistacchio.deviantchecker "0.9.0" :description "A one
例如 Luminus 网站 states那 Compojure route definitions are just functions that accept request maps and re
我有以下路线定义: (require '[compojure.core :as ccore] '[ring.util.response :as response]) (def *ma
我正在尝试从 url 查询字符串中提取一个值,但是我可以返回我认为是 map 的内容,但是当我使用下面的代码时,它不会按预期处理它。谁能建议我如何访问返回的查询字符串数据结构中的特定值? http:/
我听说过两个基于 Clojure 的 Web 应用程序框架:Webjure 和 Compojure。有人可以让我知道哪个更好吗? 最佳答案 现在您可以添加 Ring到列表中。所有这些框架都非常新,并且
我目前正在使用 Compojure(以及 Ring 和相关中间件)在 Clojure 中编写 API。 我正在尝试根据路线应用不同的身份验证代码。考虑以下代码: (defroutes public-r
我正在尝试创建一个路由,该路由的参数在 compojure 中包含逗号 (GET "/tags/multiple/:tag-names" [tag-names] multiple-tags) 但由于某
我的堆栈跟踪不包含对我的代码的任何引用。我不知道如何开始找出这里可能出了什么问题: LazySeq.java:47 clojure.lang.LazySeq.sval LazySeq.java:56
我是一名优秀的程序员,十分优秀!