async function pasteFile(file_link, input_selector) {
var blob = { type: 'html' };
do {
try {
blob = await (await fetch(file_link)).blob();
if (blob.type.includes('html')) {
console.log('Не удалось скачать файл с сервера, вместо файла получена html-страница', blob);
await new Promise(function(s) { setTimeout(s, 1000); });
}
}
catch (err) {
console.log('Не удалось скачать файл с сервера', err);
await new Promise(function(s) { setTimeout(s, 1000); });
}
} while (blob.type.includes('html'));
var dt = new DataTransfer();
dt.items.add(new File([blob], file_link.split('/').pop(), { type: blob.type }));
document.querySelector(input_selector).files = dt.files;
console.log('Файл успешно вставлен в поле', dt.files);
}
<script>
document.addEventListener('DOMContentLoaded', function() {
document.querySelector('form.create-form').addEventListener('submit', async function() {
var form = this;
event.preventDefault();
var audio = await (await fetch(form.querySelector('audio').src)).blob();
var form_data = new FormData(form);
form_data.append('file', audio, 'FileName.mp3');
var response = await (await fetch(form.action, {
method: 'POST',
body: form_data
})).text();
console.log('Ответ сервера:', response);
form.outerHTML = 'Ответ сервера:<br>' + response;
});
});
</script>
var original = {
open: XMLHttpRequest.prototype.open,
send: XMLHttpRequest.prototype.send
};
XMLHttpRequest.prototype.open = function (method, url, async, user, password) {
console.log('Параметры запроса:', [method, url, async, user, password]);
return original.open.call(this, method, url, async, user, password);
};
XMLHttpRequest.prototype.send = function (data) {
console.log('Тело запроса:', data);
return original.send.call(this, data);
};
<input type="number" placeholder="Ваш возраст" oninput="age = this.value">
$.ajax({
url: '/',
type: 'GET',
xhrFields: { responseType: 'blob' },
dataType: 'binary',
success: function(blob) {
console.log('Успешно скачан файл:', blob);
},
error: function(xhr, status) {
console.log('При загрузке файла произошла ошибка:', xhr);
}
});
// Ждем
// готовности
// страницы:
$(function() {
// Запускаем загрузку текста из файла:
var deferred = $.get('/orders/имя_файла.txt');
// При попытке отправить форму однократно:
$('#send_page').one('submit', function() {
// Отменяем отправку:
event.preventDefault();
// Ждем готовности текста:
deferred.done(function(text) {
// Вставляем данные с полученного текста в поля:
var info, vars = [ 'familiya', 'imya', 'otchestvo', 'tel', 'email', 'city', 'course_info', 'price', 'pre_order', 'time'];
info = text.split(';');
for (var i = 0; i < vars.length; i++) {
$('.send_page').find('input[name='+vars[i]+']').attr('value', info[i]);
}
// Инициируем отправку:
$('#send_page').submit();
});
});
});
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
file_put_contents('tinkoff.json', file_get_contents('php://input'));
http_response_code(200);
echo 'OK';
}