Mám backend WordPress, kde jsem do API přidal své vlastní koncové body:
// retrieve countries
register_rest_route( $namespace, '/countries',
array(
'methods' => 'GET',
'callback' => array( $this, 'get_countries' ),
)
);
// check answer
register_rest_route( $namespace, '/check_answer',
array(
'methods' => 'POST',
'callback' => array( $this, 'check_answer' ),
)
);
Nastavil jsem své prostředí takto: https://example.com je místo, kde žije aplikace React a WordPress je v podadresáři na https://example.com/wp
Moje aplikace React provádí POST a GET požadavky na výše uvedené koncové body. Mám proměnnou produkčního prostředí, kde jsem nastavil základní URL API, což je https://example.com/wp/wp-json/game
('hra' je můj jmenný prostor), a tak mohu s Axios požádat https://example.com/wp/wp-json/game/countries
a https://example.com/wp/wp-json/game/check_answer
a tady přichází problém.
Můj server je nakonfigurován tak, aby obsluhoval aplikaci React jak s, tak bez www
. Https://example.com a https://www.example.com tedy slouží stejné aplikaci.
Ale to generuje zajímavý problém pro mé vlastní koncové body: požadavek GET vždy funguje. ale POST požadavek funguje, pouze pokud to zkouším z https://example.com , NE z https://www.example.com . V případě posledně jmenovaného mi to jednoduše ukáže neúspěšný požadavek. Žádná odpověď, nic.
Jsem googled a zdá se, že to souvisí s CORS, ale nedokázal jsem to opravit. Máte nějaké nápady?