Забрать возвращение XMLHttpRequest send
добрый день, я использую следующий код для загрузки изображений:
function uploadImage($form){
$form.find('.progress-bar')
.removeClass('progress-bar-success')
.removeClass('progress-bar-danger');
var formdata = new FormData($form[0]); //formelement
var request = new XMLHttpRequest();
//progress event...
request.upload.addEventListener('progress',function(e){
$('.progress').removeClass('hidden');
var percent = Math.round(e.loaded/e.total * 100);
$form.find('.progress-bar').width(percent+'%').html(percent+'%');
});
//progress completed load event
request.addEventListener('load',function(e){
$('.progress').removeClass('active');
$form.find('.progress-bar').addClass('progress-bar-success').html('Upload completo');
});
request.open('post', 'server.php');
request.send(formdata);
}
файл server.php
содержит:
<?php
foreach ($_FILES as $name => $file) {
$tmp_file = $file['tmp_name'];
$filename = $file['name'];
move_uploaded_file($tmp_file, 'uploads_folder/'. $name.$_POST['categoria_nome'].'.jpg');
}
return true;
? >
Хотел бы знать, как поймал return
файла server.php
и в функцию загрузки?
3
Author: William Pereira, 2015-05-15
1 answers
Нужно добавить еще oscultador событий, изменений ready state
.
Например:
request.onreadystatechange = function () {
if (request.readyState < 4) // está à espera de resposta
console.log('A carregar...');
else if (request.readyState === 4) { // 4 = A resposta do servidor está carregada
if (request.status == 200 && request.status < 300) // http status entre 200 e 299 quer dizer sucesso
alert(request.responseText); // ou usa o xhr.responseText de outra maneira
}
}
, Или с помощью request.addEventListener('readystatechange ', function(){ // etc...
Для пойдешь результаты от сервера к клиенту, вы можете использовать так:
echo '{"done": true, "message": "hello world!"}';
И в JavaScript
var resObject = JSON.parse(request.responseText);
И там творишь alert(resObject.message);
даст "hello wordl!"
Вы также Можете использовать в PHP json_encode(array);
, но это мало что может быть более практичным, как я положил сверху.
1
Author: Sergio, 2015-05-15 23:12:28