JQuery AJAX получить данные изображения с сервера - PullRequest
0 голосов
/ 27 февраля 2019

Вот мой запрос на тестирование почтальона:

enter image description here

Вот заголовки:

enter image description here

Итак, вот мой AJAX-запрос:

var getAvatarData = new FormData();
getAvatarData.append('token', Cookies.get('user_token'));
$.ajax({
    method: "POST",
    data: getAvatarData,
    url: AppSettings.userData.photo_path + "s/" + AppSettings.userData.profile.photo,
     contentType: "multipart/form-data",
     processData: false,
}).done(function (data) {
    console.log(data)
}).fail(function (err) {
    console.log(err)
});

Итак, я всегда попадаю в блок Fail с Not not.

С этими настройками Ajax:

method: "POST",
data: getAvatarData,
url: AppSettings.userData.photo_path + "s/" + AppSettings.userData.profile.photo,
dataType: "json",
mimeType: "multipart/form-data",
contentType: false,
processData: false,

Я также получаю это при ошибке:

enter image description here

Чего мне не хватает?Что здесь не так?

1 Ответ

0 голосов
/ 27 февраля 2019

Я вижу, у вас dataType установлено значение JSON , если вы установите это значение в JSON, даже если вы получите 200 ok и текст ответа не является хорошо отформатированной строкой JSONвы попадете на обработчик ошибок.В объекте сбоя вы можете видеть, что вы получили 200 ok, а текст ответа содержит содержимое.

Попробуйте изменить свой dataType на image / png и посмотрите, что произойдет.

Кроме того, вы можете попробовать этот бит кода и посмотреть, работает ли он для вас.

$.ajax({
  method: "GET",
  url: 'https://httpbin.org/image/jpeg',
  dataType: "image/jpeg",
}).done(function(data) {
  console.log(data);
}).fail(function(err) {
  console.log(err);
});
...