Аксиос не передает (данные) на запрос - PullRequest
0 голосов
/ 04 октября 2019

Извините за мой английский! Я работаю с Axios не так давно, меня постоянно мучают. На самом деле мне нужно перенести «данные» из Vue через Axios для себя на контроллер PHP, после запуска метода Axios я делаю dd ($ request) и вижу пустоту, скажите, в чем может быть проблема, спасибо!

PS Я все еще запутался, что «данные» в консоли отображаются в «config», а в поле «data» над каким-то гигантским скриптом находится над config. Так и должно быть? или есть проблема? (см. скриншоты консоли ниже).

<div id="blank">
  <form>
    <div class="form-grup">
     <label></label>
     <input type="text" class="myform" name="kladr" v-model="kladr">
    </div>
    <div class="form-grup">
     <label></label>
     <input type="text" class="myform" name="ownerKladr" v-model="ownerKladr">
    </div>
    <div class="form-grup">
     <label></label>
     <input type="text" class="myform" name="insurancePeriod" v-model="insurancePeriod">
    </div>
    <button @click.prevent="storeBlank">Accept</button>
  </form>
</div>
var blankjs = new Vue({
   el: '#blank',
   data() {
     return {
       kladr: '',
       ownerKladr: '',
           insurancePeriod: ''
        }
      },

methods: {

  storeBlank() {

    let url = '/blank/' + encodeURIComponent(this.user) + '/save';

    let data = {
   kladr: this.kladr,
    ownerKladr: this.ownerKladr,
    insurancePeriod: this.insurancePeriod
    } 

      axios.post(url, data)

      .then(function (response) {
        console.log(response)      
      })
    }
  }
})
 // PHP

  /**
  * @Route("/blank/{user}/save", name="save_blank")
  */
public function storeBlank(Request $request, User $user): Response
   {

   dd($request); //or dd(json_encode($request));

   }

Вот что я получаю в console.log:

data: "<script> Sfdump = window.Sfdump || (function (doc)…re><script>Sfdump("sf-dump-1008019515")</script>↵", status: 200, statusText: "OK", headers: {…}, config: {…}, …}

config:
  adapter: ƒ (e)
    data: "{"data":{"kladr":"", "ownerKladr":"", "insurancePeriod":""}}"
    headers: 
      Accept: "application/json, text/plain, */*"
      Content-Type: "application/json;charset=utf

1 Ответ

0 голосов
/ 04 октября 2019

Ваши данные находятся внутри объекта данных. Вот пример:

axios.post(url, data)
.then(function (response) {
    console.log(response.data);      
 });

Также ваш запрос может быть не выполнен. Вы можете обработать ошибку с помощью метода catch.

axios.post(url, data)
.catch(function(error){
    //if your request fail this block will be executed. otherwise 'then' statement will work
})
.then(function (response) {
    console.log(response.data);      
 });
...