Я немного борюсь с реализацией POST-вызова API ASP.NET с помощью Ionic 2. Мне удалось получить GET с помощью полезного руководства, но я ничего не смог найти аналогично POST, пока я не наткнулся на видео YouTube. С помощью этого видео, у меня есть этот метод моего провайдера:POST-вызовы с Ionic 2
backendlogin() {
if (this.data) {
return Promise.resolve(this.data);
}
return new Promise(resolve => {
var json = JSON.stringify({ email: '[email protected]', password: 'root' });
var params = 'json=' + json;
var headers = new Headers();
headers.append('Content-Type', 'application/json');
this.http.post('http://insertipadresshere/api/login',
params, {
headers: headers
})
.map(res => res.json())
.subscribe(data => {
this.data = data;
resolve(this.data);
},
error => alert(error),
() => console.log("Finished")
);
});
}
Мои методы GET в основном то, что было предусмотрен ионическим при создании поставщика. Они похожи на этот код, за исключением части, где объявляются переменные и добавляются заголовки, а также http.get вместо сообщения.
Это функция я использую, чтобы вызвать функцию поставщика от контроллера страницы:
setuplogin() {
this.backend.backendlogin()
.then(data => {
this.data = data;
});
console.log(this.data);
}
Теперь к вопросу. Если я все понимаю, backendLogin() должен отображать предупреждение с ошибкой, если что-то не удается, что и происходит. Предупреждение говорит «Объект объекта». Единственная вещь в консоли - пустой журнал, предположительно из setupLogin(), поскольку данные пустые. Api должен взять адрес электронной почты и пароль и вернуть uID. Может кто-то указать мне верное направление?
Не работает, к сожалению. Считаете ли вы, что это проблема с API? Я сам не написал код для этого, но могу связаться с автором. – Pharetra
Вы видите запрос, который фактически выполняется в инструментах разработчика, вкладке сети? Может быть полезно взглянуть на него ;-) –
Я могу, какие данные вам нужны? Я замечаю, что есть 400 Bad Request для метода POST. – Pharetra