Я создавал приложения для извлечения / записи данных из 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)