当前位置: 首页 > 知识库问答 >
问题:

如何从Javascript Microsoft Dynamics调用操作

柯梓
2023-03-14

我需要从JavaScript调用操作过程。我的操作接受2个输入参数和1个输出参数。下面是我的行动截图

function CallAction() {

        var actionName = "taqi_getPrice";
        var actionParameters = {
            "base": "USD",
            "TotalPrice": "200"
        };
        var actionResponse = activateCustomAction(actionName, actionParameters);
    }
    function activateCustomAction(actionName, actionParams) {

        var req = new XMLHttpRequest();
        req.open("POST", Xrm.Page.context.getClientUrl() + "/api/data/v9.0/taqi_getPrice", false);
        req.setRequestHeader("OData-MaxVersion", "4.0");

        req.setRequestHeader("OData-Version", "4.0");
        req.setRequestHeader("Accept", "application/json");
        req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
        req.onreadystatechange = function () {
            if (this.readyState === 4) {
                req.onreadystatechange = null;
                if (this.status === 200) {
                    var results = JSON.parse(this.response);
                    alert('Success');
                } else {
                    alert('fail');
                    //Xrm.Utility.alertDialog(this.statusText);
                    console.log(this);
                }
            }
        };
        req.send(JSON.stringify(actionParams));
    }

有时还说

请求头字段access-control-allog-headers不允许access-control-allog-headers

共有1个答案

段干庆
2023-03-14

好吧,我创建了与你在你的截图中提到的完全相同的动作,除了我使用的实体是帐户。我使用下面的代码来激发操作,它确实对我有效,没有任何问题,并按预期返回了值。

可能是为了测试,您可以提供静态Guid,看看您是如何得到结果的。

var parameters = {};
parameters.base = "123";
parameters.TotalPrice = "222";
var req = new XMLHttpRequest();
req.open("POST", Xrm.Page.context.getClientUrl() + "/api/data/v9.1/accounts(DC86C293-CA4F-E911-A82F-000D3A385A1C)/Microsoft.Dynamics.CRM.crmp_TestAction2", false);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function() {
    if (this.readyState === 4) {
        req.onreadystatechange = null;
        if (this.status === 200) {
            var results = JSON.parse(this.response);
        } else {
            Xrm.Utility.alertDialog(this.statusText);
        }
    }
};
req.send(JSON.stringify(parameters));
 类似资料:
  • 我想知道如何使用JAVA从SparkSQL中的领域特定语言(DSL)函数调用UDF函数。 我有UDF函数(仅举例): 我已经注册到sqlContext了 当我运行下面的查询时,我的UDF被调用,我得到一个结果。 我将使用Spark SQL中特定于域的语言的函数转换此查询,但我不确定如何进行转换。 我发现存在调用 UDF() 函数,其中其参数之一是函数 fnctn 而不是 UDF2。如何使用 UDF

  • 假设我有一个名为的扩展,my_extension一个名为的插件。 然后,我的控制器中有一个名为的函数。 如何通过通常的http GET请求从外部调用此?

  • 我能够在服务器端预加载所有需要的状态,并将这些初始状态传递给客户端应用程序的redux存储。 我已启用redux logger以查看我的应用程序中发生了什么,并且正在从存储中重新提取状态。这是因为我的组件在期间调用了必要的操作。以下是减速器、动作和组件的示例: 我使用的,它创建promise操作(实现,拒绝,挂起)。 在安装组件时调用该操作。我的理解是,即使在服务器端呈现组件以通知JS它存在,也会

  • 问题内容: 如何从Java调用GraphViz,以及如何使用Java调用GraphViz函数?为了访问用于构建点图的GraphViz库,必须包含哪些必需的jar文件?是否有用于生成点图的示例程序 问题答案: 检查此 API,它很简单,并且具有几种输出格式(即pdf gif ..etc)。 编辑2016年5月: 许多人评论说该API不再可用;这里是其源代码: 首先,您需要创建并复制以下文件,然后粘贴

  • 问题内容: 我们如何从Android调用javascript?我有一个我想使用的javascript库,我想调用javascript函数并将结果值传递给android java代码。从现在开始还没有找到答案。我设法从javascript调用android代码,但我想反过来。 问题答案: 有一个hack: 绑定一些Java对象,以便可以使用WebView从Javascript调用它: 通过以下方式强

  • 问题内容: 有没有办法从Swift调用C例程? 许多iOS / Apple库仅是C语言,我仍然希望能够调用它们。 例如,我希望能够从Swift调用objc运行时库。 特别是,如何桥接iOS C标头? 问题答案: 是的,您当然可以与Apples C库进行交互。这里说明了如何。 基本上,C型,C指针等被翻译成对象斯威夫特,例如C 在夫特是一个。 我为另一个问题构建了一个小例子,该例子可以作为对C和Sw