Dagens länkar
wp_send_json_success()
https://codex.wordpress.org/Function_Reference/wp_send_json_success
wp_send_json_error()
https://codex.wordpress.org/Function_Reference/wp_send_json_error
Workshop
Skriv om ditt StarWars Trivia-plugin så att den hämtar data asynkront via AJAX istället för att som nu blockera sidladdningen medan data hämtas från SWAPI.co.
Eftersom din kod i swapi.php redan returnerar data i form av en array, så har du i princip en tredjedel redan klart.
Förslag på tillvägagångssätt:
- Lägg till enqueuing av en JavaScript-fil och lägg samtidigt till
wp_localize_scriptför att exponera URL:en till din WordPress-installations AJAX-endpoint. - Implementera en lämplig AJAX-hook, t.ex.
get_sw_triviaellerget_starwars_vehicles. - Skapa din JavaScript-fil från steg 1 och skapa lämplig funktion som din widget kan kalla på.
- I funktionen i steg 3, gör en
$.post()till AJAX-url:en medaction-parametern satt till den hook som du vill hämta data för. - Parse:a responsen från
$.post-anropet och rendera det i din widget (förslagsvis med hjälp av$.html()).