我正在使用JSR 286 portlet并使用serveResource()方法来实现AJAX调用。在我的localhost服务器上实现正常。但是一旦部署在应用程序服务器上,它就不起作用下面给出的是架构。
以下是来自客户的代码:
$.ajax({
url : '<portlet:resourceURL/>',
dataType: "xml",
data : {ssousername: user, passwordsrv : pass, ipRandomValue : ip, deviceTypeHidden : browserStringVar},
cache : false,
type : 'POST',
withCredentials:true,
crossDomain:true,
success : function(xml) {
// Success Logic
},
error : function (jqXHR, textStatus, errorThrown) {
console.log('Error Occurred' + errorThrown);
// Failure logic
}
});
在应用程序服务器上,它会给出403禁止的错误。我认为必须有一些配置需要在OHS(apache 2)完成。我尝试在OHS中使用以下配置,但它没有用。
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"