У меня есть три запроса Get для API, поэтому я повторно использовал функцию, просто передав URL-адрес, который отличает один от другого.Однако, когда я вижу, шаг за шагом, поставщик возвращает данные, но функция ответа страницы не получает их, получая как нулевой или более конкретный «Неожиданный конец JSON».
Код страницы:
carregaNatureza() {
this.despesaProvider.getComboBoxes('http://xx.xx.xx.xx:xxxx/api/v1/cadastros/natureza/get-dropdownlist/002/001')
.then((arr_proj) => {
this.obj_data = arr_proj;
this.lista_natureza = [];
for (let i = 0; i < this.lista_natureza.length; i++) {
this.obj += (
this.lista_natureza[i]
)
this.lista_natureza.push(this.obj);
}
})
}
Код провайдера:
getComboBoxes(url: string) {
let headers = new Headers();
headers.append('Content-Type', 'application/json; charset=UTF-8');
headers.append('Authorization', 'bearer ' + this.global.tokenGlobal);
let options = new RequestOptions({ headers: headers });
return this.http.get(url, options)
.toPromise()
.then(response => {
var json_data = (response as any)._body;
var parsed = JSON.parse(json_data);
var arr_data = [];
for (var x in parsed) {
arr_data.push(parsed[x]);
}
return arr_data;
})
.catch((error) => {
var json_error = (error as any)._body;
var parsed = JSON.parse(json_error);
var arr = [];
for (var x in parsed) {
arr.push(parsed[x]);
}
return arr[0];
});
}