我有一个使用部署在同一台服务器上的 Apache Velocity 的应用程序(因为我在本地开发它,但可能在 Prod 的另一台服务器上)。从我当前的应用程序中,我需要从该应用程序中获取 Velocity 模板并在 Jquery 对话框中显示该模板。我能够进行跨域ajax调用
$.ajax({
url : '/ContextRootOfdifferentApplication/preview.do',
data : 'previewJson=' + JSON.stringify(dataForPreview),
contentType : "text/plain; charset=utf-8",
crossDomain : true,
type : "POST",
dataType : 'html',
success : function(response){
window.open(response);
}
});
在调试器中,我可以将响应视为有效的 HTML
<html>
<head>
<body>
<div id="container" align="center">
<div> </div>
<div> </div>
<div style="width: 80%; height: 10px; background-color: #6698FF;"></div>
<div> </div>
<div> </div>
<div id="errormsg" style="text-align: center; font-weight: bold;">Preview Not Available!!!</div>
<div> </div>
<div> </div>
<div style="width: 80%; height: 10px; background-color: #6698FF;"></div>
</div>
</body>
</html>
但是,一旦我尝试将此 HTML 页面显示为弹出窗口或在 jQuery 对话框中,就会出现 404 错误
HTTP 状态 404 - /currentApp/%3Chtml%3E%3Chead%3E%3Cbody%3E%3Cdiv%20id=%22container%22%20align=%22center%22%3E%3Cdiv%3E %3C/div%3E%3Cdiv% 3E %3C/div%3E%3Cdiv%20style=%22width:%2080%;%20height:%2010px;%20background-color:%20
消息 /currentApp/%3Chtml%3E%3Chead%3E%3Cbody%3E%3Cdiv%20id=%22container%22%20align=%22center%22%3E%3Cdiv%3E %3C/div%3E%3Cdiv%3E %3C /div%3E%3Cdiv%20style=%22width:%2080%;%20height:%2010px;%20background-color:%20
描述 请求的资源 (/currentApp/%3Chtml%3E%3Chead%3E%3Cbody%3E%3Cdiv%20id=%22container%22%20align=%22center%22%3E%3Cdiv%3E %3C/div%3E%3Cdiv %3E %3C/div%3E%3Cdiv%20style=%22width:%2080%;%20height:%2010px;%20background-color:%20) 不可用。
知道我在这里缺少什么可能导致此错误吗?
ps: ContextRootOfdifferentApplication我正在对其进行 ajax 调用的应用程序。 currentApp : 我正在进行 Ajax 调用的应用程序