CQ:为什么jquery在我的web服务url的开头添加/ajax
CQ: Why does jquery add /ajax to the start of my web service url?
我编写了一个小servlet,它以RSS提要的形式输出数据。它在我的Web服务器/services/rss.servlet上运行,并且很好地返回了数据。
在我的网页中,我正试图从rssservlet加载数据,如下所示:
$(document).ready(function() {
$.get("/services/rss.servlet")
.done(function(data) {
console.log("Success: " + data);
})
.fail(function( jqxhr, textStatus, error ) {
var err = textStatus + ", " + error;
console.log( "Request Failed: " + err );
});
});
大多数时候,这很好用,我可以得到数据。但偶尔,请求会失败,我在网络调试页面上看到以下请求:
Request GET /ajax/services/rss.servlet HTTP/1.1
为什么我看到/ajax在我的URL中进行了预处理?它在JQuery中似乎完全没有记录。特别是,我在带有怪癖模式的IE9中一直注意到这种行为,但在带有标准浏览器模式的IE9。
我发现这个问题是Adobe CQ/WEM的一个"特性"独有的。
在"正常"布局中,CQ将公开以下子目录:
www.example.com/apps
www.example.com/libs
www.example.com/etc
然而,CQ包含的代码允许它托管在比文档根更深的相对URL中,以防您的目录结构碰巧是…
www.example.com/subdirectory/cqRoot/apps
www.example.com/subdirectory/cqRoot/etc
www.example.com/subdirectory/cqRoot/libs
支持这一点的代码都是客户端javascript,它扫描<head>
中的这些目录,并计算出CQ"应该在哪里"。
在我们的案例中,<head>
中的第一个项目是<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
,CQ认为这意味着应用程序存储在/ajax下。
从Felix控制台的CQ 5.6开始,有一种配置可以击败这一功能。http://help-forums.adobe.com/content/adobeforums/en/experience-manager-forum/adobe-experience-manager.topic.685.html/forum__omci-we_are_on_cq54.html
您也可以在<head>
中强制禁用它,这样它就不会自动检测。
<script>
window.CQURLInfo = window.CQURLInfo || {};
CQURLInfo.contextPath = "";
</script>
- 如何使用url加载程序在webpack中导入多个图像
- 使用php或javascript从facebook相册URL中删除多余的部分
- 当URL以m.(网站).com开头时,浏览器需要自行调整大小
- Greasemonkey - 如何在以特定字符串开头的页面上查找并打开 aν URL
- 为什么使用MEAN.js应用程序'URL以#开头
- 正则表达式,用于匹配字符串开头的协议相对 URL
- jquery 正则表达式修剪 URL 字符串的开头和结尾
- 缩短 URL 以保留开头和结尾(Firebug “Net” 面板样式)
- 花式框 - URL 以“/”开头的语法错误
- 如何验证正斜杠并将其转换为 url 的开头
- 当将 JavaScript 与 Webpack 捆绑在一起时,require/import URL 开头的 @ 符号是什
- 删除URL开头的字符串
- 我怎么能在一个URL中有两种类型的参数,其中一种以“”开头#"而另一个以“0”开头&"并且不替
- 在正则表达式、javascript中匹配不同的url开头
- 匹配URL的Regex以子域开头,而不是“”;www”;
- 主干网是否可以创建一个与所有以某个东西开头的url匹配的路由
- 在Angularjs中,ui-router访问状态url开头的参数
- 正则表达式,查找不以="开头的URL's
- 在Javascript字符串中的url开头和结尾插入一个字符
- CQ:为什么jquery在我的web服务url的开头添加/ajax