Загрузите файл через Ajax Call в PHPPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Загрузите файл через Ajax Call в PHP

Сообщение Anonymous »

У меня есть кнопка и onclick . Он вызовет функцию AJAX. < /P>
Вот моя функция Ajax: < /p>

Код: Выделить всё

function csv() {

ajaxRequest = ajax(); // ajax() is a function that has all the XML HTTP Requests

postdata = "data=" + document.getElementById("id").value;

ajaxRequest.onreadystatechange = function() {
var ajaxDisplay = document.getElementById('ajaxDiv');
if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
ajaxDisplay.innerHTML = ajaxRequest.responseText;
}
}

ajaxRequest.open("POST", "csv.php", false);
ajaxRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
ajaxRequest.send(postdata);
}
< /code>
Я создаю файл CSV на основе пользовательского ввода. После того, как он создан, я хочу, чтобы он вызвал загрузку или загрузку (предпочтительно силы). Я использую следующий скрипт в конце файла PHP для загрузки файла. Если я запускаю этот скрипт в отдельном файле, он работает нормально. < /P>
$fileName = 'file.csv';
$downloadFileName = 'newfile.csv';

if (file_exists($fileName)) {
header('Content-Description: File Transfer');
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename=' . $downloadFileName);
ob_clean();
flush();
readfile($fileName);
exit;
}
echo "done";
Но если я запускаю его в конце файла csv.php , он выводит содержимое file.csv на страницу (в Ajaxdiv) вместо загрузки.>

Подробнее здесь: https://stackoverflow.com/questions/666 ... all-in-php
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»