Aurelia - HTTP
W tym rozdziale dowiesz się, jak pracować z żądaniami HTTP w frameworku Aurelia.
Krok 1 - Utwórz widok
Stwórzmy cztery przyciski, które będą używane do wysyłania zapytań do naszego API.
app.html
<template>
<button click.delegate = "getData()">GET</button>
<button click.delegate = "postData()">POST</button>
<button click.delegate = "updateData()">PUT</button>
<button click.delegate = "deleteData()">DEL</button>
</template>
Krok 2 - Utwórz model widoku
Do wysyłania żądań do serwera Aurelia zaleca fetchklient. Tworzymy funkcje dla wszystkich potrzebnych nam żądań (GET, POST, PUT i DELETE).
import 'fetch';
import {HttpClient, json} from 'aurelia-fetch-client';
let httpClient = new HttpClient();
export class App {
getData() {
httpClient.fetch('http://jsonplaceholder.typicode.com/posts/1')
.then(response => response.json())
.then(data => {
console.log(data);
});
}
myPostData = {
id: 101
}
postData(myPostData) {
httpClient.fetch('http://jsonplaceholder.typicode.com/posts', {
method: "POST",
body: JSON.stringify(myPostData)
})
.then(response => response.json())
.then(data => {
console.log(data);
});
}
myUpdateData = {
id: 1
}
updateData(myUpdateData) {
httpClient.fetch('http://jsonplaceholder.typicode.com/posts/1', {
method: "PUT",
body: JSON.stringify(myUpdateData)
})
.then(response => response.json())
.then(data => {
console.log(data);
});
}
deleteData() {
httpClient.fetch('http://jsonplaceholder.typicode.com/posts/1', {
method: "DELETE"
})
.then(response => response.json())
.then(data => {
console.log(data);
});
}
}
Możemy uruchomić aplikację i kliknąć GET, POST, PUT i DELodpowiednio przyciski. W konsoli widzimy, że każde żądanie się powiodło, a wynik jest rejestrowany.