我正在使用$ .ajax方法动态地包含插件脚本文件,遗憾的是,由于整个项目都托管在Dynamics CRM 2011中,因此不会将查询字符串参数传递给此请求,而不会以错误的方式摩擦CRM。
执行以下操作:
$.ajax({
url: includeUrl, // == "Templates.js"
dataType: "script",
success: function (includedFile) {
window.Includes.push(includedFile);
}
});
将返回500 - Internal Server Error
,查看我请求以下网址的firebug控制台:
http://server:5555/Organisation/WebResources/grid_/Templates.js?_=1366828753001
这个_=1366828753001
参数附加了$ .Ajax方法.. CRM不太喜欢这个...我问这知道我可能在岩石和硬地之间但是在那里任何方式调用$ .ajax强制它不要将此ID附加到查询字符串中?
CRM完全错误:
<description>CRM Parameter Filter - Invalid parameter '_=1366828753001' in Request.QueryString on page /Organisation/Handlers/WebResource.ashx
The raw request was 'GET /Organisation/WebResources/grid_/Templates.js?_=1366828753001' called from http://server:5555/Organisation/WebResources/grid_/EditableGrid.htm.</description>
答案 0 :(得分:10)
将cache: true
设置为$ .ajax()调用的参数
jQuery附加的查询字符串,以防止缓存所请求的资源。