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:无法读取未定义的属性“findAll”(expressjs)