【发布时间】:2019-04-10 21:11:46
【问题描述】:
我正在使用 KeeFrame 在 clojurescript 中构建一个演示应用程序并检索该网站的部分信息,我需要调用一个外部 API,该 API 需要在 GET 请求中使用自定义 HTTP 标头参数
我将 re-frame.core 用于 API 调用,它使用 ajax.core。 我也尝试用 cljs-http.client 替换它。然而结果是一样的。 我已经设法通过在服务器站点使用 clj-http 将自定义标头参数添加到请求标头。但这不是我想为这个网站实现的解决方案,因为这意味着我首先必须重建我正在调用的 API。所以我可以在没有参数的情况下从我的 clojurescript 中使用它。
此代码有效。生成正确的 GET 请求
{:http-xhrio {
:method :get
:uri (str transuri "/acquirer/" 673072009 "/acquirerref/" acquirerRefNo)
:headers {"Accept" "application/json"}
:response-format (http/json-response-format {:keywords? true})
:on-failure [:common/set-error]}}
以“Accept: application/json”作为请求头
此代码不起作用。生成的不是 GET 请求,而是 OPTIONS 请求
{:http-xhrio {
:method :get
:uri (str transuri "/acquirer/" 673072009 "/acquirerref/" acquirerRefNo)
:headers {"Accept" "application/json" "Custom" "Value"}
:response-format (http/json-response-format {:keywords? true})
:on-failure [:common/set-error]}}
并且在请求标头中“Accept: application/json”不可见,但“Access-Control-Request-Headers: custom”是
我希望 GET 请求在请求标头中包含“Accept: application/json”和“Custom: Value”。
谁能告诉我我做错了什么或提供一个链接来提供相关信息?
提前致谢
【问题讨论】:
标签: api http-headers clojurescript