Почему я получаю ошибки cors от не www to www in WordPress rest API? - PullRequest
0 голосов
/ 03 февраля 2020

Каждый раз, когда мне нужно обновить сообщение или страницу, которые используют блоки Гутенберга, я получаю сообщение на панели инструментов, которое гласит «Обновление не удалось. Сообщение об ошибке: Ответ не является действительным JSON ответом.».

Я также получаю сообщения об ошибках на консоли разработчика Chrome и Firefox: доступ к выборке в 'https://website.com/wp-json/wp/v2/users/me?_locale=user' из источника 'https://www.website.com' заблокирован в соответствии с политикой CORS: поле заголовка запроса x-wp-nonce не разрешено Access-Control-Allow-Headers в ответе предпечатной проверки.

Может ли это быть из-за того, что на URL-адресе для отдыха есть «www»? Я могу редактировать и сохранять сообщения в Safari, но не Chrome или Firefox.

Спасибо

1 Ответ

0 голосов
/ 22 марта 2020

При сохранении сообщения в Гутенберге бэкэнд-страница WordPress ожидает от сервера ответа в формате JSON. Поэтому, когда вы получаете эту ошибку, это означает, что что-то на стороне бэкэнда / PHP не работает так, как должно. В моем случае я использовал функции print или echo вместо

return json_encode(array("with"=> "values"))

в обратном вызове ловушки действия после сохранения.

Вторая ошибка не связана с первой. URL-адрес вызова ajax должен быть равен значению window.location.origin

...