====== LU04.A01 - Webseite für Bücherliste ====== Ergänze die AJAX-Requests für das Frontend der Applikation "Bibliothek". **[[https://classroom.github.com/a/drGwrf-Z|GitHub Classroom Assignment]]** ===== Aufbau der Applikation ===== Die Applikation enthält die HTML-, CSS- und Javascript-Dateien für das Frontend der Bibliothek. Besonders in der Datei ''util.js'' sind einige hilfreiche Funktionen vorhanden, ein Blick lohnt sich. Anstelle der AJAX-Requests werden in der Vorlage hart codierte Daten verwendet. Deine Aufgabe ist es, die korrekten AJAX-Requests einzufügen und deren Resultat auszuwerten. Beachte dabei die Schnittstellen der Services aus [[modul:m321:learningunits:lu03:aufgaben:buchliste]]. ===== Vorbereitung ===== Für die Entwicklung arbeiten wir mit dem lokalen Webserver **localhost**. Dieser blockiert jedoch sämtliche AJAX-Requests mit wegen //Cross Origin Resource Sharing (CORS)//. Daher müssen wir am Anfang der Datei ''app.py'' unserer Flask-Applikation eine kleine Anpassung vornehmen: from flask import Flask from flask_restful import Api from flask_cors import CORS from resource.book_resource import BookResource from resource.library_resource import LibraryResource app = Flask(__name__) CORS(app) api = Api(app) ... Nun können wir unsere AJAX-Requests mit der URL ''http://localhost:5050/...'' ausführen. ===== Aufträge ===== ==== Buch lesen ==== Lies ein Buch anhand der Book-UUID. Die Book-UUID ist als Parameter in der URL verfügbar. ===== Bücherliste lesen ===== Lies alle Bücher aus der Bibliothek. ==== Buch löschen ==== Lösche ein Buch anhand der Book-UUID. Die Book-UUID ist als Parameter in der URL verfügbar. ==== Buch speichern ==== Speichere ein neues oder geändertes Buch. Anhand der Book-UUID in der URL kannst du erkennen, ob es ... * ... ein bestehendes Buch ist (Book-UUID in der URL vorhanden) * ... ein neues Buch ist (keine Book-UUID) ---- {{tag>M321-LU01}} [[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Marcel Suter