У меня есть и Ionic 4 APP, который, кажется, кеширует данные из запроса GET. На моей странице у меня есть этот код:
ionViewWillEnter() {
this.loadPrayers();
}
Эта функция вызывает функцию в моем сервисе:
getPrayers() {
return new Promise(resolve => {
let url = 'https://www.nameofmywebsite.com/wp-json/prayerRequest/v1/all';
this.httpClient.get(url).subscribe(data => {
resolve(data);
}, _error => {
resolve('error');
});
});
}
При первом запуске данные будут восстановлены. При последующей загрузке страницы функция не будет загружать обновленные данные. Когда я запускаю URL в Postman после внесения изменений в базу данных, он возвращает то, что я ожидаю. Проведя некоторые исследования, я подумал, что это (и все еще возможно) проблема с кэшированием, поэтому я попытался добавить в заголовки запроса следующее:
прагма: без кеша
контроль кеша: нет кеша
контроль кеша: max-age = 0
В результате данные не возвращаются. Мой клиент использует базу данных WordPress, где я создал пользовательскую конечную точку REST.
Вот зарегистрированный маршрут и функция.
register_rest_route('prayerRequest/v1', '/all', array(
'methods' => WP_REST_Server::READABLE,
'callback' => 'getAllPrayerRequests',
));
function getAllPrayerRequests() {
global $wpdb;
$query = "SELECT * FROM `el_prayer_requests` WHERE `requestApproved` = 't'";
$result = $wpdb->get_results($query);
return $result;
}