【发布时间】:2018-12-17 06:42:40
【问题描述】:
我正在使用 V8ScriptEngine 从 C# 调用 javascript 函数的 Execute 方法,但出现错误 ReferenceError: XMLHttpRequest is not defined。我安装了像 Xhook 这样的 nuget 包但无法解决。请帮我解决这个问题或建议调用 api 的方法使用 ClearScript(v8ScriptEnigne) 从 javascript 函数和 c# 调用函数。
Javascript 函数:
function Execute(paraList)
{
var finalUrl = "http://172.29.134.69:9006/api/Line/GetStationDefectsByStationId?stationId=1";
var sol=get(finalUrl,function(){var resp=this.response;return resp;});
return sol;
}
function get(url, callback) {
var xhr = new XMLHttpRequest();
xhr.open("GET",url, true);
xhr.send("");
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (typeof callback === "function") {
callback.apply(xhr);
}
}
};
}
C#代码:使用V8ScriptEngine从c#调用javascript函数
V8ScriptEngine _v8Engine = new V8ScriptEngine(V8ScriptEngineFlags.EnableDebugging);
_v8Engine.Execute(Script_Text);
_v8Engine.AddCOMType("XMLHttpRequest", "MSXML2.XMLHTTP");
object returnedVal = _v8Engine.Script.Execute();
return returnedVal;
【问题讨论】:
标签: javascript c# clearscript