48 lines
1.5 KiB
Markdown
48 lines
1.5 KiB
Markdown
# TP javascript : Ajax, promesses.
|
|
|
|
Vous disposez tous, à la racine de votre compte, d'un répertoire `public_html` qui est servi (http/https) par le serveur dwarves.
|
|
Pour accéder à vos pages, utilisez l'url :
|
|
|
|
> http(s)://dwarves.[arda|iut-fbleau.fr]/~login
|
|
|
|
Pour tester les différentes api http, vous pouvez utilisez la commande `curl`.
|
|
|
|
|
|
#### Ex1
|
|
Le but est de faire une recherche de film en utilisant l'api [OMDb](https://www.omdbapi.com/) (Open Movie Database).
|
|
|
|

|
|
|
|
Son utilisation nécessite une clé. Vous pouvez utiliser la mienne `2fcb2848`. Si
|
|
la limite de requêtes est atteinte, générez votre propre clé.
|
|
|
|
|
|
Complétez le [code](./src/ex1).
|
|
- J'ai volontairement utilisé des modules. Il vous faut donc tester l'application avec
|
|
http.
|
|
|
|
- Écrire la fonction du modèle
|
|
```js
|
|
getMovies(search)
|
|
```
|
|
Cette fonction renvoie une promesse qui permet de faire une requête ajax vers l'api OMDb. Pour ajax,
|
|
utilisez d'abord l'interface `fetch`, ~~puis l'objet `XMLHttpRequest`~~.
|
|
|
|
- Écrire la fonction du contrôleur
|
|
```js
|
|
async search(searchMovie)
|
|
```
|
|
qui permet de faire une recherche. Cette fonction utilise évidemment la fonction précédente `getMovies`.
|
|
|
|
- Écrire la fonction de la vue
|
|
```js
|
|
renderList(movies)
|
|
```
|
|
qui construit la liste des films affichés. La structure attendue est
|
|
```html
|
|
<li>
|
|
<a href="http://www.imdb.com/title/tt0068646" target="_blank">The Godfather</a><span>1972</span>
|
|
</li>
|
|
```
|
|
|