Запрос Xhttp всегда возвращает код ответа 0. - при отправке запроса с использованием данных формы - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь загрузить массив изображений, используя данные формы и xhttp. Клиент: React Native - Обе платформы. Сервер: Узел, работающий на GCP. Изображения входят в s3.

Проблема: изображения загружаются в s3. И когда я просматриваю логи своего сервера, я вижу, что сервер отправляет 200. Но клиент всегда получает код ответа 0. А также xhttp выходит из состояния 1 -> 4.

Мы добавили CORS на обоих концахтак что это не может быть проблемой. Я принимаю и заголовки контента. Но не знаю, что происходит.

Любая помощь приветствуется.

React-Native Client:

upload () {

let url = "MYAPIGOESHERE"

let uploadBody = new FormData()
let imagesUpload = []
imagesUpload.push({type:'image/jpg',uri:this.state.coverImage[0].uri,name:"cover"})

  uploadBody.append('photos',{uri:this.state.coverImage[0].uri, type:'image/jpg', name:"cover"})
  uploadBody.append('duration',this.state.duration)

  var xhttp = new XMLHttpRequest()

  xhttp.onreadystatechange = function() {

    console.log(this.readyState+" "+this.statusText)
      if (this.readyState === 4) {
        alert(this.status)  
        if (this.status === 200) {
          console.log(this.responseText);
        } else {
          console.log(this);
        }
      }
      if(this.readyState === 3)
      {
        console.log("Inside 3")
      }
      if(this.readyState === 2)
      {
        console.log("Inside 2")
      }
};


xhttp.open("POST", url)
xhttp.setRequestHeader('Accept', 'application/json');
xhttp.setRequestHeader('Access-Control-Allow-Origin', '*');
xhttp.responseType = 'json'
xhttp.send(uploadBody)

}

...