如何使用V8ScriptEngine(Clearscript)在C#代码中加载jquery文件?

时间:2019-05-13 10:51:01

标签: jquery v8 clearscript

我正在尝试使用ClearScript(V8ScriptEngine)从c#代码执行javascript函数。这里的Script_Text是javascript代码。我想从jquery调用api并在C#中加载Execute函数,但未定义$之类的异常。如何使用clearscript(V8ScriptEngine)在C#中加载jquery?

C#代码:

public dynamic GetText(string Script_Text, List<object> paraList)
{
  V8ScriptEngine _v8Engine = new V8ScriptEngine(V8ScriptEngineFlags.EnableDebugging);     
 _v8Engine.Execute(Script_Text);
  object returnedVal = _v8Engine.Script.Execute();      
  return returnedVal;
}

JavaScript函数:

function Execute(){
    $.ajax({
      type: 'GET',                
      url: "http://172.29.134.69:9006/api/Line/GetStationDefectsByStationIdstationId=1",
      success: function (data) {
      alert(data);
      },
      error: function (error) {
        alert("Fail");
        }
      });

1 个答案:

答案 0 :(得分:0)

您可以在运行脚本之前下载并尝试执行jQuery,但这可能会失败,因为裸露的JavaScript环境缺少jQuery依赖的DOM

您可以提供一个支持jQuery的DOM实现,但是我怀疑这会付出很大的努力,尽管有jsdom这样的公共项目可能会有所帮助。

如果只需要ajaxalert,则用C#或另一种.NET语言实现它们并将它们公开以进行脚本编写将更加容易。