欢乐 javascript 导入

Mirth javascript import

在后处理器脚本中我需要调用 API。我正在使用此代码:

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) 在 com.mirth.connect.server.util.javascript.JavaScriptUtil.executePostprocessorScripts(JavaScriptUtil.java:275) 在 com.mirth.connect.server.transformers.JavaScriptPostprocessor$JavaScriptPostProcessorTask.doCall(JavaScriptPostprocessor.java:104) 在 com.mirth.connect.server.util.javascript.JavaScriptTask.call(JavaScriptTask.java:113) 在 java.util.concurrent.FutureTask.run(来源不明) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(来源不明) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(来源不明) 在 java.lang.Thread.run(来源不明)


如何导入 XMLHttpRequest 并在后处理器中使用它 javascript?

XMLHttpRequest 是特定于网络浏览器的东西。 Mirth Connect 使用一个名为 Mozilla Rhino 的脚本引擎,它不是一个面向网络浏览器的引擎(因为 MC 显然不是一个网络浏览器)。

Rhino 确实 但是与底层 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();
}