MS CRM 2013为脚本类型的WebResources添加了版本号

MS CRM 2013 adds version number to WebResources of script type

本文关键字:WebResources 添加 版本号 类型 CRM 2013 脚本 MS      更新时间:2023-09-26

我在MS CRM 2013中发现了奇怪的问题,因为它似乎是由设计的,我需要帮助找到一种绕过它的方法。

问题是不可能从WebResource调用getScript jQuery方法。

CRM将版本字符串添加到url中,这导致请求失败,错误为500

例如,当我试图呼叫:/Organization/WebResources/Synchronization.js

CRM将此请求转换为以下/Organization/WebResources/Synchronization.js?_=1402918931398,并且由于服务器错误500而失败。

下面是我使用的示例代码:
var settings = {
    url: "/Organization/WebResources/Synchronization.js",
    dataType: "script",
    success: function (data) {
       console.log("success");
    },
    error: function(jqXHR, textStatus, errorThrown) {
       console.log("error");
    }
};
$.ajax(settings);

请告诉我,我怎样才能知道URL是什么时候改变的?

原来,这是jQuery的缓存功能。

如果在设置对象中打开缓存,这个问题就会消失。这样的:

var settings = {
    url: "/Organization/WebResources/Synchronization.js",
    cache: true,
    dataType: "script",
    success: function (data) {
       console.log("success");
    },
    error: function(jqXHR, textStatus, errorThrown) {
       console.log("error");
    }
};