Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Marklogic服务器端js应用程序跨域获取_Javascript_Cross Domain_Marklogic_Serverside Javascript - Fatal编程技术网

Javascript 使用Marklogic服务器端js应用程序跨域获取

Javascript 使用Marklogic服务器端js应用程序跨域获取,javascript,cross-domain,marklogic,serverside-javascript,Javascript,Cross Domain,Marklogic,Serverside Javascript,这里有很多问题涉及跨域请求、COR、头等。我几乎尝试了所有我能找到的东西,但都没有用。MarkLogic文档中可能有一些与此相关的内容,但我在其中浪费了很多时间,而且很难导航。也没有任何MarkLogic示例可供遵循(我已经找到) 我会尽量包括所有相关信息,但如果我遗漏了什么,请告诉我 我在Safari上运行MacOSX,安装了MarkLogic9。我在8004端口设置了一个http应用服务器。我还有一个在8010端口上运行的python SimpleHTTPServer。我有一个带有js脚本的

这里有很多问题涉及跨域请求、COR、头等。我几乎尝试了所有我能找到的东西,但都没有用。MarkLogic文档中可能有一些与此相关的内容,但我在其中浪费了很多时间,而且很难导航。也没有任何MarkLogic示例可供遵循(我已经找到)

我会尽量包括所有相关信息,但如果我遗漏了什么,请告诉我

我在Safari上运行MacOSX,安装了MarkLogic9。我在8004端口设置了一个http应用服务器。我还有一个在8010端口上运行的python SimpleHTTPServer。我有一个带有js脚本的简单html站点,其中包含以下简单的GET请求

$("#http-button").click(function(){
    console.log("clicked");
    $.get("http://localhost:8004/my-js.sjs",function(data,status){
        alert("Data: " + data + "\nStatus" + status);
        $("#http-results").text(data);
    })
});`
我的服务器端脚本My-js.sjs只是一个简单的查询。我已经包括了我认为允许跨域请求所必需的头,但它仍然不起作用

//xdmp.setResponseContentType("text/plain");
xdmp.setResponseContentType("application/json");
xdmp.addResponseHeader('Access-Control-Allow-Origin', '*');
xdmp.addResponseHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
xdmp.addResponseHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
xdmp.addResponseHeader('Access-Control-Allow-Credentials', true);

var jsearch = require('/MarkLogic/jsearch.sjs');
//query and print
jsearch.documents()
  .where(
  cts.wordQuery("cardiac")
  ).slice(0,3).result();
我不知道从这里到哪里去。我的实现依赖于能够执行跨域请求。我可以用node.js和REST服务器来完成,但我不知道如何用服务器端JavaScript来完成,这对于我来说要快得多


我也乐于接受新的实现思想,但我已经编写了很多服务器端JavaScript,所以我不想从头开始。

好吧,如果我浪费了时间,很抱歉。结果是这些头球发挥了作用,我只是没有把球放在 真的


在引号中。

很高兴看到你找到了答案。当Stack Overflow允许您使用时,请将此标记为“已接受”,这样就可以清楚地看到它已被解决。“MarkLogic文档中可能有关于此的内容,但我在其中浪费了很多时间,很难导航。”--如果您有具体的反馈,我很乐意从您那里获得。请随时联系社区-requests@marklogic.com.
//xdmp.setResponseContentType("text/plain");
xdmp.setResponseContentType("application/json");
xdmp.addResponseHeader('Access-Control-Allow-Origin', '*');
xdmp.addResponseHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
xdmp.addResponseHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
xdmp.addResponseHeader('Access-Control-Allow-Credentials', true);

var jsearch = require('/MarkLogic/jsearch.sjs');
//query and print
jsearch.documents()
  .where(
  cts.wordQuery("cardiac")
  ).slice(0,3).result();