2012-03-06 2 views
1

Я использую этот AJAX Uploader FileAJAX загрузки файлов Возвращаемое значение

http://www.phpletter.com/Our-Projects/AjaxFileUpload/

Я использую этот код:

function ajaxFileUpload() { 
    $('input[type=file]').each(function() { 
     if ($(this).val() == "") { 
      return true; 
     } else { 
      $.ajaxFileUpload({ 
       url: 'upload.php', 
       secureuri: false, 
       fileElementId: this.id, 
       success: function (data, status) { 
        $('body').html(data); 
       }, 
      }) 
     } 
    }); 
    return false; 
} 

Я хочу HTML тела превращаются в то, что я эхо из загрузки. php, как то, что мы обычно делаем с использованием $ .ajax, к сожалению, когда я выхожу из файла upload.php, даже если это просто простая строка, html $ ('body') становится пустым. Ничего не возвращается. Может ли кто-нибудь помочь?

+1

Пустой ответ обычно указывает на внутреннюю ошибку сервера. Проверьте свой журнал ошибок и используйте что-то вроде Firebug, чтобы проверить код ответа и данные ответа на ваши вызовы ajax. – MrCode

+0

Одна вещь, которую я наблюдал, когда я делаю предупреждение (данные), возвращает объект HTML. В firebug нет ошибок. Я попытался включить функцию ошибки этого плагина, и ошибка не срабатывала. –

ответ

0

Использование $('body').html(data.msg);

+0

уже пробовал. не работал :(У меня был $ msg = 'msg'; echo $ msg в моем upload.php и все же ничего не получилось. –

+0

Ответ должен быть json: 'echo json_encode (array ('msg' => $ msg)); ' – Dragos

0

Глядя на сайте вы связаны, он возвращает объект, а не строка, которая является то, что вы пытаетесь вставить в body.

success ожидает, что data будет объектом, если вы повторяете строки от upload.php, тогда это не будет объект. Попробуйте строить объект JSON и вторя, что:

$out = new stdClass; 
$out->error = ''; 
$out->msg = 'this is the message returned'; 

echo json_encode($out); 
exit(); 

Попробуйте data.msg в success яваскрипте часть.

+0

попытался это сделать, когда я попытался предупредить (data.msg), он показывает undefined. Если я попробовал body.html (data.msg), он ничего не делает. –

+0

Я обновил ответ, другой взгляд – MrCode

+0

все еще не работает. :( –

0

Я получал ту же проблему и наткнулся на эту тему. Ну, здесь вопрос все еще остается без ответа. Я нашел решение - в вызове ajax нам также нужно передать тип данных ответа. Это могут быть «html», «JSON» и т. Д. Поэтому, если вы сталкиваетесь с подобной проблемой, попробуйте передать dataType. В моем случае я получал ошибку типа файла, чтобы дать ключ.

Смежные вопросы