#javascript #wordpress #rest #routes #wordpress-rest-api
#javascript #wordpress #отдых #маршруты #wordpress-rest-api
Вопрос:
При вызове метода Axios put() с моим пользовательским маршрутом WordPress я получаю эту ошибку в консоли:
ПОМЕСТИТЬ http://my-project.com/wp/wp-json/contact/v1/send 404 (Не найден)
Вот как я определяю свой пользовательский маршрут в WP functions.php
:
add_action('rest_api_init', function () {
register_rest_route( 'contact/v1', 'send', array(
'methods' => 'POST',
'callback' => 'sendContactMail'
));
});
Вот вызов в моем приложении (Vue.js ):
this.$axios.$put(`${this.baseUrl}/wp-json/contact/v1/send`, formData)
.then((res) => {
this.success = true
})
.catch((err) => {
this.$toast.error(err.response)
})
Что я делаю не так?
Комментарии:
1. Вы определили метод POST, но используете PUT
2. Спасибо 🙂 Если вы дадите ответ, я его приму
Ответ №1:
В methods
разделе register_rest_route
вызова разрешен только POST
метод, но ваш код использует PUT
.
Вы можете либо изменить вызов axios axios.post
, либо добавить PUT
метод в определение маршрута. Для этого измените methods
, что может быть строкой HTTP-методов, разделенных запятыми, или массивом строк, таких как:
'methods' => 'POST,PUT',
или
'methods' => ['POST','PUT'],