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

标签 javascript jquery ajax dynamics-crm

我在 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");
    }
};

关于javascript - MS CRM 2013为脚本类型的WebResources添加版本号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24243294/

相关文章:

javascript - 如何根据HTML表格创建excel文件并保存到项目目录中

javascript - 通过 AJAX 发布时如何忽略 JSON 数据?

javascript - 如何使 youtube 字幕可选?

javascript - 使用 Ajax 进行更改事件的 Telerik Kendo 网格验证

javascript - 在 Chrome 中调整绘图 Canvas 的大小

javascript - jquery选择父div下面的div

jquery - 获取带有 AJAX 错误的服务器响应?

javascript - 使用 Firebug 时如何防止页面更改

javascript - 无法访问变量

javascript - Socket.IO 客户端在回来时接收离线消息