首页 > 解决方案 > 对象在控制台中检查时具有值,但在控制器中检查时显示 null (Laravel)

问题描述

我正在传递具有

{
    form: {
        a: '',
        b: '',
        c: '',
        d: '',
        e: '',
        f: '',
        g: ''
    }
}

当我记录它以在控制台中查看值是否为空时

{
    a: "3"
    b: 2
    c: 2
    d: "5"
    e: "5"
    f: 2
    g: "4"
}

没有什么是空的,但是在我像这样执行我的 axios 发布请求之后

axios.post('https://xyz/abc',this.form)
.then((res) => {
    // do something
});

其中一个值自动为空

当我dd在控制器中时,我得到了这个:

array:7 [
    "a" => "5"
    "b" => "5"
    "c" => "4"
    "d" => "3"
    "e" => 2
    "f" => 2
    "g" => null
]

一切都存在,除了每次都有一个值。
我已经匹配了我的输入字段名称,而且我还认为,根本没有设置一个值。我将它们设置为

<img id="b3" src="xyz"/>

在挂载功能中设置

mounted(){
let $vm= this;
$('#b3').click(function(){

  $vm.form.b= 3;
})
}

标签: laravelvue.js

解决方案


我通过从 shaedrich 的评论中获取冻结概念来解决它,并且我在碰撞时分配表单,我设置了 onclick 事件而不是使用 jquery 并将其分配到该函数中

做过这个:

<img src="xyz" v-on:click="b(1)"/>

在功能中我手动分配了它

b:function(n){
this.form.b= n
}

推荐阅读