我正在使用 V8ScriptEngine 从 C# 调用 javascript 函数的 Execute 方法,但出现错误 ReferenceError: XMLHttpRequest is not defined。我安装了像 Xhook 这样的 nuget 包但无法解决。请帮我解决这个问题或建议从 javascript 函数调用 api 的方法并使用 ClearScript(v8ScriptEnigne) 从 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;