2017-08-07 47 views
1

在postprocesor脚本中,我需要调用API。我使用此代码:欢乐JavaScript导入

var xmlHttp = new XMLHttpRequest(); 
xmlHttp.open("GET", "http://www.example.com/something", false); 
xmlHttp.send(null); 

我得到这个错误:

的ReferenceError: “XMLHttpRequest的” 没有定义。 在8bb4dae5-0615-4f0c-8e60-26c8614a6bcc_Postprocessor:65(doScript) 在8bb4dae5-0615-4f0c-8e60-26c8614a6bcc_Postprocessor:71 在com.mirth.connect.server.util.javascript.JavaScriptUtil.executeScript(JavaScriptUtil。 java:547) at com.mirth.connect.server.util.javascript.JavaScriptUtil.executePostprocessorScripts(JavaScriptUtil.java:275) at com.mirth.connect.server.transformers.JavaScriptPostprocessor $ JavaScriptPostProcessorTask.doCall(JavaScriptPostprocessor.java: 104) at com.mirth.connect.server.util.javascript.JavaScriptTask.call(JavaScriptTask.java:113) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor .runWorker(未知来源) 在java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(来源不明) 在java.lang.Thread.run(来源不明)


如何我可以导入的XMLHttpRequest和postprocesor使用它的JavaScript ?

+0

什么是“postprocesor”? – adeneo

+0

https://snag.gy/By9Ck0.jpg在这里你可以看到postprocesor – Davidm176

回答

2

XMLHttpRequest是Web浏览器特有的东西。 Mirth Connect使用名为Mozilla Rhino的JavaScript引擎,它不是面向Web浏览器的引擎(因为MC显然不是Web浏览器)。

犀牛确实然而与底层JVM无缝集成。基本上你可以在Java中做任何事情,你也可以在JavaScript中做。使用URLConnection代替例如:

var url = new java.net.URL('http://www.google.com'); 
var conn = url.openConnection(); 
var is = conn.getInputStream(); 
try { 
    var result = org.apache.commons.io.IOUtils.toString(is, 'UTF-8'); 
} finally { 
    is.close(); 
} 
+0

尼克你如何使用相同的(mozilla rhino)导出,导入或部署频道组,同时使用欢乐连接休息API?在变压器或滤波器中使用欢乐连接休息API有什么好的文档吗?我试图做很多的研究,但我没有得到明确的文件,事实上,这个答案是我见过的最接近我的追求... @Nick Rupley –