Загрузка файла PDF с помощью AJAX / MVC 3 - PullRequest
1 голос
/ 27 сентября 2011

В основном проблема заключается в следующем:

У меня есть pdf-файл, который я запрашиваю с сервера, основываясь на текущем вошедшем в систему идентификаторе пользователя и OID. Чтобы получить OID, мне нужно проанализировать значение из таблицы HTML на основе кнопки, на которой пользователь щелкает, а затем отправить ее на домашний контроллер. Затем выполняется вызов API для получения OID. Затем выполняется другой вызов API с OID для извлечения файла 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
        });

1 Ответ

9 голосов
/ 27 сентября 2011

Да, не используйте AJAX для загрузки файлов.Просто перенаправьте в javascript, передав pReference в качестве параметра строки запроса:

window.location.href = '@Url.Action("PrintFromGrid", "Home")?pReference=' + encodeURIComponent(primaryReference);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...