使用AJAX/MVC 3下载PDF文件
基本上,问题是: 我有一个基于当前登录用户ID和OID从服务器请求的pdf文件。为了获得OID,我必须根据用户单击的按钮解析HTML表中的值,然后将其发送给主控制器。然后运行API调用以获取OID。然后使用OID进行另一个API调用以提取PDF文件。AJAX用于使用以下代码将解析后的HTML值发送到主控制器:使用AJAX/MVC 3下载PDF文件,ajax,asp.net-mvc-3,pdf,download,Ajax,Asp.net Mvc 3,Pdf,Download,基本上,问题是: 我有一个基于当前登录用户ID和OID从服务器请求的pdf文件。为了获得OID,我必须根据用户单击的按钮解析HTML表中的值,然后将其发送给主控制器。然后运行API调用以获取OID。然后使用OID进行另一个API调用以提取PDF文件。AJAX用于使用以下代码将解析后的HTML值发送到主控制器: $('.pdfPrint').live('click', function () { $(this).addClass('selectedDetai
$('.pdfPrint').live('click', function () {
$(this).addClass('selectedDetails');
var parent = $('.selectedDetails').parents('tr');
var tr = $(this).parents('tr');
var td = tr.children();
var i = 0;
td.each(function () {
$(this).addClass('tdGrid' + i);
i++;
});
var primaryReference = "";
primaryReference = $('.tdGrid1').text();
gridClassRemover();
$.ajax({ // create an AJAX call...
data: { pReference: primaryReference }, // get the form data
type: "POST", // GET or POST
url: "/Home/PrintFromGrid", // the file to call
success: function (response) { // on success..
callTrackDialog();
// update the DIV
}, // end of success
error: function () {
alert('An error has occurred. If this problem persists please contact support.');
}
}); // end of .ajax
});
是的,不要使用AJAX下载文件。通过将
首选项
作为查询字符串参数传递,只需在javascript中重定向即可:
window.location.href = '@Url.Action("PrintFromGrid", "Home")?pReference=' + encodeURIComponent(primaryReference);
是的,不要使用AJAX下载文件。通过将
首选项
作为查询字符串参数传递,只需在javascript中重定向即可:
window.location.href = '@Url.Action("PrintFromGrid", "Home")?pReference=' + encodeURIComponent(primaryReference);
谢谢你的回复。但我不明白的是,如何抓住首选项值并使用这行代码,一键点击。这是上面在op上编辑的当前代码。@Nozoku,在您的AJAX代码中,您似乎已经拥有了它。我回答的要点是,你有它,不要使用AJAX,执行重定向。如果这个值在服务器上是已知的,那么根本不用担心任何javascript,只需使用Html.ActionLink帮助程序即可。我还忘了提到我正在手动构建整个表以及Jquery中的所有按钮……Jquery还使用API调用进行Ajax调用。所以本质上,这必须拉取我需要的值,然后点击1个按钮进行重定向。@Nozoku,你为什么认为这不起作用?在按钮的单击回调中,只需将此
窗口.location.href
重定向。可以肯定的是,AJAX在下载文件时不起作用。您有单击回调的示例吗?谢谢您的回复。但我不明白的是,如何抓住首选项值并使用这行代码,一键点击。这是上面在op上编辑的当前代码。@Nozoku,在您的AJAX代码中,您似乎已经拥有了它。我回答的要点是,你有它,不要使用AJAX,执行重定向。如果这个值在服务器上是已知的,那么根本不用担心任何javascript,只需使用Html.ActionLink帮助程序即可。我还忘了提到我正在手动构建整个表以及Jquery中的所有按钮……Jquery还使用API调用进行Ajax调用。所以本质上,这必须拉取我需要的值,然后点击1个按钮进行重定向。@Nozoku,你为什么认为这不起作用?在按钮的单击回调中,只需将此窗口.location.href
重定向。可以肯定的是,AJAX在下载文件时不起作用。你有一个点击回调的例子吗?看看我的帖子,我做到了。。看看我的帖子,我做到了。。