Ошибка: пользовательский код. Ошибка обратного вызова: RangeError: Неверный код состояния: 0 - PullRequest
0 голосов
/ 03 мая 2019

Я создавал приложения для извлечения / записи данных из API и использовал http native для приложений Android. Получить метод в порядке сейчас. Но, когда я использую post и patch для сохранения данных, метод еще не работает.

Подскажите, пожалуйста, как сохранить данные с помощью POST? Вот мой код, как показано ниже:

В сервис.ц,

 updateProfile(userProfile) {
    console.log("UpdatePro_"+JSON.stringify(userProfile));
    return this.http.patch(this.mcs.mobileBackend.getCustomCodeUrl(mcsConfig.environment + '_api_care/my/profile'), userProfile, this.getMcsHeadersString());
  }

getMcsHeadersString() {
    var cheaders = {};
    for (let key in this.mcs.mobileBackend.getHttpHeaders()) {
      cheaders[key]= this.mcs.mobileBackend.getHttpHeaders()[key];
    }
    //console.log("STring_HeaderKey_"+cheaders['_keys']+"HeaderValue_"+cheaders['_values']);
    delete cheaders['_keys'];
    delete cheaders['_values'];
    return cheaders;
  } 

In profileedit.ts

save() {

    this.mcsService.updateProfile(this.userProfile).then((res) => {

      console.log("testUp"+this.userProfile);
      this.router.navigate(['menu/profile']);
    }, (err) => {
      console.log("Invalid_"+err.error);
      this.presentAlert(err.error);
    }
    );
  }

Сообщение об ошибке показывает, что как показано ниже:

{"message":"Custom Code Problem in callback: RangeError: Invalid status code: 0"}

Custom Code Problem in callback: 
request:
 patch  /profile
caused unhandled error:
 RangeError: Invalid status code: 0
    at ServerResponse.writeHead (_http_server.js:192:11)
    at ServerResponse.res.writeHead (/u01/app/mobile_ccc/mcs-node-router/mcs-node-server.js:765:35)
    at ServerResponse._implicitHeader (_http_server.js:157:8)
    at ServerResponse.OutgoingMessage.end (_http_outgoing.js:571:10)
    at ServerResponse.send (/u01/app/mobile_ccc/node-configurations/6.10/node_modules/express/lib/response.js:205:10)
    at getMyProfileRow.then.catch (/u01/app/mobile_ccc/custom_code_modules/01fead32-6294-4f8e-8dcb-fa405af7d75a_6/rest_api/custom/my/router_dbtable.js:545:36)

1 Ответ

0 голосов
/ 28 мая 2019

Ответ - мне нужно проанализировать объект JSON, например this.userProfile.user_name = JSON.parse (mcsService.userProfile) .user_name;

...