在 Magnific-Popup 模式中显示 PDF 文件
Display PDF file inside Magnific-Popup modal
我的网站上有一个表格,用户需要填写该表格才能生成 PDF 文件。如果表单中存在错误,服务器将使用包含错误列表的 json 对象进行响应,否则将使用 PDF 文件(作为字符串)进行响应。我正在尝试在 Magnific-Popup (https://www.npmjs.com/package/magnific-popup) 中显示该 PDF 文件。
$('.preview-button').on('click', function (e) {
event.preventDefault();
var theLink = $(this);
var formElement = theLink.closest("form");
$.ajax({
url: theLink.attr('href'),
method: 'GET',
data: formElement.serialize(),
success: function (response, textStatus, jqXHR) {
var contentType = jqXHR.getResponseHeader("content-type") || "";
if(contentType.indexOf('pdf') > -1){
// How can I tell to magnific popup to display the response as PDF?
$.magnificPopup.open({
// tell magnific popup to use the response...
type: 'iframe',
closeOnBgClick: false
});
}
else{
if (response.hasOwnProperty('errors')){
// Form has error, show them
alert(response.errors);
}
}
}
});
});
这可能对遇到同样问题的人有用:我决定在服务器中生成一个临时 pdf 文件并将该文件的路径作为响应发送,而不是将 pdf 文件作为响应发送。然后我们可以告诉 magnificPopup 在 iframe 中显示它。
我的网站上有一个表格,用户需要填写该表格才能生成 PDF 文件。如果表单中存在错误,服务器将使用包含错误列表的 json 对象进行响应,否则将使用 PDF 文件(作为字符串)进行响应。我正在尝试在 Magnific-Popup (https://www.npmjs.com/package/magnific-popup) 中显示该 PDF 文件。
$('.preview-button').on('click', function (e) {
event.preventDefault();
var theLink = $(this);
var formElement = theLink.closest("form");
$.ajax({
url: theLink.attr('href'),
method: 'GET',
data: formElement.serialize(),
success: function (response, textStatus, jqXHR) {
var contentType = jqXHR.getResponseHeader("content-type") || "";
if(contentType.indexOf('pdf') > -1){
// How can I tell to magnific popup to display the response as PDF?
$.magnificPopup.open({
// tell magnific popup to use the response...
type: 'iframe',
closeOnBgClick: false
});
}
else{
if (response.hasOwnProperty('errors')){
// Form has error, show them
alert(response.errors);
}
}
}
});
});
这可能对遇到同样问题的人有用:我决定在服务器中生成一个临时 pdf 文件并将该文件的路径作为响应发送,而不是将 pdf 文件作为响应发送。然后我们可以告诉 magnificPopup 在 iframe 中显示它。