Почему мои размещенные на Ajax данные не в правильном формате?

#ajax #axios

#ajax #axios

Вопрос:

Я пишу плагин для WordPress, который использует VueJS. Все работает нормально, пока я не перейду к отправке данных через запрос Ajax POST. Вот выдержка из того, что у меня есть:

 data () { 
  return {
    form: {
      items: []
    }
  }
}

methods: {
  processOrder () {
    axios({
      method: 'post',
      url: '/ajax.php',
      data: JSON.stringify({
        action: "process_order"
      })
    })
      .then(function (response) {
        console.log(response);
      })
      .catch(function (error) {
        console.log(error);
      });
  }
}
  

и когда я проверяю запрос в Chrome, я получаю:

 "body":"{"action":"process_order"}"
  

это означает, что ключ действия никогда не найден на сервере. Если я удаляю Stringify, сервер ничего не видит. Есть идеи о том, как удалить экранирование?

Комментарии:

1. О, игнорируйте ссылку на data (), я удалил ее во время тестирования.

Ответ №1:

вы можете попробовать это

 npm install qs --save-dev
  

и используйте:

 import Qs from qs
data:Qs.stringify({action: "process_order"})