【问题标题】:Axios does not pass (data) to the requestaxios 不向请求传递(数据)
【发布时间】:2020-02-02 09:03:56
【问题描述】:

对不起我的英语! 不久前我和 Axios 一起工作,我经常受到折磨。实际上,我需要为自己将 Vue 中的“数据”通过 Axios 传输到 PHP 控制器,在触发 Axios 方法后,我执行 dd ($ request) 并看到 void,告诉我可能是什么问题,谢谢!

附:我仍然感到困惑的是,控制台中的“数据”显示在“配置”中,并且在某种巨型脚本上方的“数据”字段中位于配置上方。所以应该是?还是有问题? (请参阅下面的控制台屏幕截图)。

<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

【问题讨论】:

标签: javascript php request axios


【解决方案1】:

您的数据在数据对象内。以下是示例:

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);      
 });

【讨论】:

    猜你喜欢
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 2021-10-13
    • 1970-01-01
    • 2021-06-26
    • 1970-01-01
    相关资源
    最近更新 更多