1

我正在尝试使用 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");
        }
      });
4

1 回答 1

0

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

您可以提供一个 DOM 实现来支持 jQuery,但我怀疑这将是一项巨大的工作,尽管有一些公共项目(例如jsdom)可以提供帮助。

如果ajax并且alert是您所需要的,那么用 C# 或其他 .NET 语言实现它们并将它们公开以进行脚本编写会容易得多。

于 2019-05-14T16:14:37.540 回答