欢乐javascript导入

时间:2017-08-07 19:50:37

标签: javascript mirth

在postprocesor脚本中,我需要调用API。我正在使用此代码:

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

我收到了这个错误:

ReferenceError:" XMLHttpRequest"未定义。     at 8bb4dae5-0615-4f0c-8e60-26c8614a6bcc_Postprocessor:65(doScript)     在8bb4dae5-0615-4f0c-8e60-26c8614a6bcc_Postprocessor:71     at com.mirth.connect.server.util.javascript.JavaScriptUtil.executeScript(JavaScriptUtil.java:547)     在com.mirth.connect.server.util.javascript.JavaScriptUtil.executePostprocessorScripts(JavaScriptUtil.java:275)     at com.mirth.connect.server.transformers.JavaScriptPostprocessor $ JavaScriptPostProcessorTask.doCall(JavaScriptPostprocessor.java:104)     在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(Unknown Source)     at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)     在java.lang.Thread.run(未知来源)

如何导入XMLHttpRequest并在postprocesor javascript中使用它?

1 个答案:

答案 0 :(得分:2)

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

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();
}