我在 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/