我在使用JsReport www.jsreport.net时遇到了问题。
在服务器中,我启用了基本身份验证以保护报告编辑器,但现在只能通过身份验证访问模板。
在网页中,我使用ember.js并将选项传递给jsreport.render,但我收到错误“未经授权”。
我在标题中传递btoa但不起作用。
查看示例:
jsreportInit = function(){
jsreport.render($("#contentReport"), renderPage("html"));
$("#generateExcel").on("click", function(){
jsreport.render(renderPage("html-to-xlsx"));
});
function renderPage(type){
var data = {
headers: {
"Authorization" : "Basic xpto"
},
shortid : "${shortId}",
recipe: type,
engine: "jsrender",
options: {
id : "${id}",
questions : "${questions}",
skipQuestions : "${skipQuestions}",
eventPersons : "${eventPersons}",
subscribers : "${subscribers}",
urlApi: "http://${pageContext.request.serverName}:${pageContext.request.serverPort}${pageContext.request.contextPath}",
urlReport: "${urlReport}"
}
}
return data;
}};
有人可以帮助我吗?
韩国社交协会
答案 0 :(得分:1)
不幸的是,目前不支持将标头传递给浏览器的jsreport.render
电话。有两个原因:
jsreport.render
主要使用不允许携带自定义标题的同步http帖子(表单提交)我建议您通过服务器路由所有请求,并在其后面安全地隐藏jsreport。
或者,如果您只对编辑器中的模板编辑感兴趣,可以查看jsreport freeze extension