Intereting Posts
Добавить сегмент URI для языка в Codeigniter Запрос с использованием результата предыдущего запроса PhantomJS долго висит, говоря «Фаза очистки асинхронных сеансов, начиная СЕЙЧАС» WordPress использует UTF-8, а остальная часть моего сайта использует ISO-8859-1 – кодировку символов Имя файла проверки php существует, переименуйте файл Не вставлять правильные значения в базу данных MySQL Обновление вывода командной строки, то есть для прогресса Операторы PHP! = И == PHP: управление доменом / субдоменом файлов cookie Подключение к LocalHost / 10.0.2.2 из Android-эмулятора отключено Получить корневую запись DNS с сервера php; получить доменное имя без www, ect отправка неблокирующего запроса HTTP POST Magento – Невозможно переопределить цены на продукцию – Нарушение внешнего ключа не работает Отправка данных формы в контроллер ZF2 с помощью Ajax Как отключить ошибки кода состояния HTTP по умолчанию на сервере Zend?

window.open для передачи параметров в php и создания и просмотра PDF-файлов

Я использовал window.open, чтобы указать на php-файл, где я создаю pdf-файл на лету, используя fpdf и отображая его непосредственно пользователю. Кажется, что он отлично работает во всех браузерах и даже мобильных устройствах. Например:

window.open('/client/feature_Schedule/scheduleReport.php','Schedule_Report','width=900,height=600,status=yes'); 

Я не передаю никаких значений в этом примере, потому что все необходимые параметры уже существуют в файле php.

Но теперь я хотел бы передать значения из javascript вместе, чтобы запросить базу данных в файле php, прежде чем создавать PDF-файл и отображать его пользователю. Есть ли соглашение, о котором я должен знать? Window.open, похоже, не справляется с этим, за исключением добавления значений после «?» в конце URL-адреса. Но я бы предпочел POST значения, потому что в php-файл может быть отправлено много данных. Я даже играл с $ .ajax, но не уверен, как запускать с помощью pdf, чтобы открыть для пользователя.

Благодарю.

    Related of "window.open для передачи параметров в php и создания и просмотра PDF-файлов"

    Существует решение для отправки POST-данных с помощью window.open (), и это довольно просто: параметры Window.open и pass по методу post

    Его можно даже сделать без какого-либо реального HTML-кода, связанного только с чистым программированием javascript.

    // Редактировать: добавлено только решение javascript:

     <input type="button" value="Open" onclick="openWindow();" /> <script> function openWindow(){ // create <form> var form = document.createElement('form'); form.method = 'POST'; form.action = 'process.php'; form.target = 'window_1'; // target the window // append it to body var body = document.getElementsByTagName('body')[0]; body.appendChild(form); // create an element var child1 = document.createElement('input'); child1.type = 'text'; // or 'hidden' it is the same child1.name = 'elem1'; child1.value = 'some value'; // append it to form form.appendChild(child1); // create another element var child2 = document.createElement('input'); child2.type = 'text'; // or 'hidden' it is the same child2.name = 'elem2'; child2.value = 'some other value'; // append it to form form.appendChild(child2); // create window window.open('', 'window_1'); // submit form form.submit(); body.removeChild(form); // clean up } </script> 

    window.open() может выполнять только запросы GET. Вам нужно будет создать форму с соответствующими элементами управления и целью, если вы хотите иметь тот же эффект с POST.

    Вы можете создать <form> со скрытыми вводами и использовать JavaScript для отправки формы. Обратите внимание на атрибут target="_blank" который вызывает отправку формы в новое окно.

     <a href="#" onclick="document.forms['pdfForm'].submit();return false;">Generate PDF</a> <form target="_blank" id="pdfForm" name="pdfForm" method="POST"> <input type="hidden" name="param1" value="val1" /> <input type="hidden" name="param2" value="val2" /> </form>