更新
因此,我尝试执行Ajax的原因是登录表单,该表单在用户在应用程序中打开SSRS报告时显示。我有带有报告的框架(两个不同的服务器),并且希望使应用程序中的用户看不到授权。对于第一台服务器-kuybit,我有它,但是SSRS具有其他身份验证表单类型,因此我遇到了麻烦。 如果有人知道更好的方法,那么除了ajax请求之外,它也会有所帮助。
旧版Q
我在iframe中具有BI报表的应用程序和Microsoft服务器。 我正在尝试将跨域ajax请求发送到报表服务器,但它不起作用,因为对跨域的第一个请求是OPTIONS。我的阿贾克斯从来没有 工作了。 我的Ajax请求:
var path = route + ':444/ReportServer/Pages/ReportViewer.aspx' + reportName + '&rs:Command=Render&rc:stylesheet=HideToolBar';
$.ajax({
url: path,
type: 'GET',
headers: {
'Access-Control-Allow-Headers': 'Authorization',
'Content-Type':'application/xml',
'Authorization' : 'Basic ' + btoa(ssrs_login + ":" + ssrs_password)}
}).success(function (data) {
//todo smth
});
请问有人可以帮忙吗。
答案 0 :(得分:0)
要启用CORS到SSRS:
设置 -将 AccessControlAllowCredentials 设置为true <-以允许传递cookie - AccessControlAllowOrigin 到其他服务器的URL,以便OPTION请求可以通过