TypeError:无法读取未定义的 vue-resource.js:284 的属性“替换”

Posted

技术标签:

【中文标题】TypeError:无法读取未定义的 vue-resource.js:284 的属性“替换”【英文标题】:TypeError: Cannot read property 'replace' of undefined vue-resource.js:284 【发布时间】:2017-02-21 08:16:45 【问题描述】:

谁能帮我解决这个错误?

我一直在使用 jQuery 和 vue.js。以下是我遇到问题的方法......它由发布请求调用。 new_user 包含从 html 表单字段接收的值...

当我在控制台中编写它时,可以很好地接收值。

当我尝试使用 ajax 方法存储数据 (this.$http.post()) 时出现问题。我收到以下错误:

TypeError:无法读取未定义的属性“替换” vue-resource.js:284

我浏览了几个链接。但我没有得到任何帮助...我可能犯了一些愚蠢的错误,因为我使用了完美运行脚本中的上述代码。因此,如果有人能发现错误,我将不胜感激。谢谢... :)

编码愉快。

    addUser : function(new_user)
        // var instance = this;
        console.log(this)
        var new_user_input = this.new_user
        console.log(new_user_input.name)//this works fine..

         //problem comes right here
         this.$http.post("clients/" , new_user_input).then((response) => 
            alert("ok")
        ,(response) => 
            alert("failed")
            this.form_errors = response.data
            // console.log("here should be the form errrors " + response.data.title)
        );
    

【问题讨论】:

代码看起来不错,我会在 this.new_user 数据中查看您的错误原因。它包含什么? 感谢您的更正和及时回复。你认为使用 jQuery 会导致这种情况发生吗,因为我使用的是 $. new_user 是一个对象,包含如下数据: new_user:对象地址:“kathmandu”联系人:“电话”出生日期:“1992”教育:“单身汉”电子邮件:“duwaljyoti16@gmail.com”性别:“男性”姓名:“john doe” 国籍:“尼泊尔” 电话:“45678” 是的,这确实有道理..我真的不明白我在哪里搞砸了..我正在使用 vue v1.0.24 和 vue resource v1.0.3 你确定你想要this.new_user 而不仅仅是new_user(你正在传递给方法)。 也可以试试:this.$http("clients/", method: 'POST', data: this.new_user) 【参考方案1】:

如果您使用 Laravel,请确保您的模板中有:

好:

<script>
        window.Laravel = <?php echo json_encode([
            'csrfToken' => csrf_token(),
        ]); ?>
</script>

//OR

<script>
    window.Laravel = !! json_encode([
        'csrfToken' => csrf_token(),
    ]) !!
</script>

不好:

<script>
        window.Laravel = '<?php echo json_encode([
            'csrfToken' => csrf_token(),
        ]); ?>'
</script>

//OR

<script>
    window.Laravel =  json_encode([
        'csrfToken' => csrf_token(),
    ]) 
</script>

【讨论】:

以上是关于TypeError:无法读取未定义的 vue-resource.js:284 的属性“替换”的主要内容,如果未能解决你的问题,请参考以下文章

TypeError:无法读取未定义的属性(读取“问题”)

TypeError:无法读取未定义的属性“findAll”(expressjs)

TypeError:无法在 gitlab 中读取未定义的属性(读取“读取”)

TypeError:无法读取未定义的属性(读取“国家”)

TypeError:无法读取未定义的属性(读取“匹配”):

TypeError:无法读取未定义的属性“babel”