MarkLogic HTTP Server:设置 CORS 标头
Posted
技术标签:
【中文标题】MarkLogic HTTP Server:设置 CORS 标头【英文标题】:MarkLogic HTTP Server: Set up CORS headers 【发布时间】:2014-08-07 20:04:17 【问题描述】:我在CentOS 6.5 box
上运行MarkLogic 7
。我的html/JS
应用程序托管在同一台机器上的 MarkLogic HTTP 服务器上。该应用程序在端口 8003 上运行,并且需要通过在不同端口 8007 上运行的 REST API
访问数据。当我在应用程序中使用 AJAX
请求时,我收到一个错误提示
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://172.16.100.104:8003' is therefore not allowed access.
之前有人为CORS
设置过MarkLogic
吗?任何帮助都会很棒。
【问题讨论】:
【参考方案1】:您可以使用https://docs.marklogic.com/xdmp:add-response-header 设置Access-Control-Allow-Origin
标头。您必须为需要使用跨站点请求的每个端点执行此操作:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS 有详细信息。
【讨论】:
只是为了好奇,如果我使用 MarkLogic 的内置 REST API 访问我的数据库,你知道我该怎么做吗? 内置的 REST API 端点似乎不支持任何添加任意响应标头的机制。但是,您应该能够在编写 REST 扩展时添加自己的标头:docs.marklogic.com/guide/rest-dev/extensions 对于内置端点,您可能会考虑通过另一个应用服务器层或透明反向代理来路由请求。无论哪种方式,目标都是重新路由请求,以便浏览器认为两个 REST API 实例位于同一服务器上。以上是关于MarkLogic HTTP Server:设置 CORS 标头的主要内容,如果未能解决你的问题,请参考以下文章
我可以在 Marklogic Server 的 xquery 中声明一个全局变量吗?