Как вернуть printы из php обработчика для xhr?
На просторах родимого интернета нашел подобную функцию для получения ответа от xhr, но ответ меня не удовлетворяет.
let xmlHttpRequest = function() {
return new Promise(function(resolve, reject) {
form.append("fil", upload_file);
xhr.open("post", "file.php", true);
var text='empty';
xhr.onreadystatechange = function() {
console.log(this);
if (this.readyState === 4) {
if (this.status >= 200 && this.status < 400) {
//var r=JSON.parse(this.responseText);
//text=r.text[0];
//resolve(text); // Вызываем resolve и передаем text в качестве параметра
console.log(resolve);
console.log(reject);
} else {
reject(new Error('Error')); // Обработка ошибки
}
}
};
xhr.send();
});
};
xmlHttpRequest()
.then(function(text){
console.log(text);
}).catch(function(err){
console.error(err);
});
Так как у меня в php обработчике есть обработка ошибок, и сами ошибки мне нужно возвращать, они выводятся там через print_r(). Как это осуществить, или какие есть аналоги с условием на получения ответа в нужном мне формате?
Формат:
if ($_FILES["fil"]){
$sql00 = "SELECT `file_exet` FROM files WHERE id = :fil";
$req00 = $dbh->prepare($sql00);
$req00->bindValue(':fil', $_FILES["fil"]["name"], PDO::PARAM_STR);
$req00->execute();
$_SESSION['FIL'] = $req00->fetch(PDO::FETCH_ASSOC);
print_r($_SESSION['FIL']['file_exet']);}else{print_r('ERROR_0001'.$ERROR);}