同じサーバーにデプロイされたApacheVelocityを使用するアプリケーションがあります(ローカルで開発していますが、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呼び出しを行っているアプリケーション