代码之家  ›  专栏  ›  技术社区  ›  phlie

在本地主机上托管http工具包时进行ajax调用

  •  0
  • phlie  · 技术社区  · 6 年前

    我正在尝试做一个前端和http工具包后端网站。我在从web浏览器中获取http工具包的响应时遇到了很多麻烦。当我进入 http://localhost:8080 从我的WE浏览器使用HTTP工具包Web服务器,它工作良好,并显示“Hello HTTP!”.

    (defn app [req]
      {:ip "127.0.0.1"
       :status  200
       :headers {"Content-Type" "text/html"}
       :body    "hello HTTP!"})
    (run-server app {:port 8080})
    

    但是,当我尝试使用post或get对同一服务器进行ajax调用时,它不再工作,而是显示0的状态。

    我读到它可能与cors的兼容性有关,但我真的不知道如何配置它来工作。

    干杯,

    1 回复  |  直到 6 年前
        1
  •  0
  •   phlie    6 年前

    在服务器端代码的headers部分,我必须放置允许跨域共享文件的代码。

    :headers {"Content-Type" "text/html" "Access-Control-Allow-Origin" "http://localhost:8000"}
    

    然后这就允许我使用cljs http发出ajax请求

    (http/post "http://localhost:8080/" {:with-credentials? false})
    

    它允许ajax请求。