Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用AJAX/MVC 3下载PDF文件_Ajax_Asp.net Mvc 3_Pdf_Download - Fatal编程技术网

使用AJAX/MVC 3下载PDF文件

使用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

基本上,问题是:

我有一个基于当前登录用户ID和OID从服务器请求的pdf文件。为了获得OID,我必须根据用户单击的按钮解析HTML表中的值,然后将其发送给主控制器。然后运行API调用以获取OID。然后使用OID进行另一个API调用以提取PDF文件。AJAX用于使用以下代码将解析后的HTML值发送到主控制器:

        $('.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在下载文件时不起作用。你有一个点击回调的例子吗?看看我的帖子,我做到了。。看看我的帖子,我做到了。。