【问题标题】:How do you have multiple javascript libraries in Dynamics CRM 2011您如何在 Dynamics CRM 2011 中拥有多个 javascript 库
【发布时间】:2011-06-27 00:23:51
【问题描述】:

是的,我正在创建一个方法,它使用 Ajax POST 将帐户添加到 Dynamics CRM 到内置 Web 服务,代码如下:

var context = GetGlobalContext();
var serverUrl = context.getServerUrl();
var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";

var account = new Object();
account.Name = "Sample Account created via OData jQuery library.";

// Parse the entity object into JSON
var jsonEntity = window.JSON.stringify(account);

// Asynchronous AJAX function to Create a CRM record using OData
$.ajax({ type: "POST",
    contentType: "application/json; charset=utf-8",
    datatype: "json",
    url: serverUrl + ODATA_ENDPOINT + "/AccountSet",
    data: jsonEntity,
    beforeSend: function (XMLHttpRequest) {
        //Specifying this header ensures that the results will be returned as JSON.
        XMLHttpRequest.setRequestHeader("Accept", "application/json");
    },
    success: function (data, textStatus, XmlHttpRequest) { },
    error: function (XMLHttpRequest, textStatus, errorThrown) { }
});

这个代码有一个指向 JSON 和 JQuery 库的链接,我如何在动态 CRM 2011 中链接它们。

我希望在 onload 函数上执行代码以添加新帐户。但目前我对它的工作原理一无所知。

我明白我必须首先:

  • 转到网络资源
  • 添加上面的jquery
  • 保存文件
  • 转到我的实体并添加 javascript 库及其在 onload 上调用的方法

但它链接到 json 和 jquery 库。这是如何工作的?

【问题讨论】:

    标签: jquery dynamics-crm javascript dynamics-crm-2011


    【解决方案1】:

    只需将这些库作为附加 Web 资源上传即可。在表单的自定义项上,您可以选择在表单上加载哪些库。只需确保在自定义代码之前加载 JSON 和 jQuery 库,就可以了。

    【讨论】:

    • 当从子网格功能区按钮单击执行此类功能时(即可能有多个父表单),是否需要将这些表单脚本添加到所有可能的父实体表单中主持这个亚网格功能区?还有其他方法吗?
    • 在这种情况下,您可以将所有库添加到功能区 XML。对于每个库,添加一个 节点。它需要一个函数名,所以我们只是把 isNaN 放在那里所以没有错误。
    • @Matt Matt,您能否详细说明如何为主页上的一个按钮加载多个 JS 文件?我按照您的建议尝试了多个 节点。没有抱怨导入ribbondiff的东西,但是当我点击按钮时,当它试图在第二个JS文件中调用我的函数时,我得到一个JS失败。我知道我的 JS 很好,因为它可以在表单功能区上运行,我可以通过表单属性加载 2 个文件。我按照您的建议尝试了第二个文件 def 的 isNaN 。然后我尝试了自己的 dummyfunc() 并发出警报。警报永远不会被触发。不知道从这里去哪里......
    • @Matt 更新:我的第二个 JS 文件是包含表单事件处理函数的 JS 文件。当我删除功能区功能并将它们放入单独的 JS 文件时,它现在可以工作了。不知道为什么将我的功能区函数放在包含表单事件处理程序的同一个文件中会是一个问题,但我现在可以开始了。
    【解决方案2】:

    确保在此 javascipt 之前加载所有其他依赖的 JavaScipt 库,并且您必须保持依赖的 javascript 优先级。由于您使用的是 Json 和 JQuery 库,因此您必须先加载这些库。此外,如果您正在使用其他库的任何函数,则必须在此 javascript 之前加载它(它应该在列表的顶部)。

    【讨论】:

      【解决方案3】:

      使用像Jingo.js这样的JS包/依赖管理器

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-13
        • 1970-01-01
        相关资源
        最近更新 更多