Javascript VueJS:将获取数据获取到Vue中
我有一段VueJS代码,里面有一个fetch,它成功地获取了笑话,并打算用它填充一个div,但是我注意到了一些东西Javascript VueJS:将获取数据获取到Vue中,javascript,vue.js,Javascript,Vue.js,我有一段VueJS代码,里面有一个fetch,它成功地获取了笑话,并打算用它填充一个div,但是我注意到了一些东西 window.onload = function () { var app = new Vue({ delimiters: ['[[', ']]'], el: '#app', data: { jokes: [] } }); function postdata(app){ var
window.onload = function () {
var app = new Vue({
delimiters: ['[[', ']]'],
el: '#app',
data: {
jokes: []
}
});
function postdata(app){
var initial_data = {'id': 1, 'model-name': 'Joke'}
var self = this;
fetch("\start-jokes\/", {
body: JSON.stringify(initial_data),
cache: 'no-cache',
credentials: 'same-origin',
headers: {
'user-agent': 'Mozilla/4.0 MDN Example',
'content-type': 'application/json'
},
method: 'POST',
mode: 'cors',
redirect: 'follow',
referrer: 'no-referrer',
})
.then(response => response.json()).then((json) => { console.log(json['jokes'])
app.jokes.push(json['jokes'])
})
}
postdata(app)
};
该响应包含一个数组,其中包含一个dict,其中包含键
、文本
和名称
的密钥对值
但是仔细看看为什么没有任何东西被填充,我已经在控制台上记录了同样的内容。(检查元素中网络选项卡的前一个图像)
现在,dict中的每个元素都有一个反应式的get
和set
。如何将其转换为JSON
请注意,我已经尝试登录控制台
app.jobs
并返回未定义的在DOM中使用滞留的vue方法
new Vue({
el: '#app',
data: {
title: '',
message: ''
},
mounted: function() {
this.postdata()
},
methods: {
postdata(){
var initial_data = {'id': 1, 'model-name': 'Joke'}
var self = this;
fetch("\start-jokes\/", {
body: JSON.stringify(initial_data),
cache: 'no-cache',
credentials: 'same-origin',
headers: {
'user-agent': 'Mozilla/4.0 MDN Example',
'content-type': 'application/json'
},
method: 'POST',
mode: 'cors',
redirect: 'follow',
referrer: 'no-referrer',
})
.then(response => response.json()).then((json) => { console.log(json['jokes'])
this.jokes.push(json['jokes'])
})
}
}
})
这是个问题吗?是的。。。也许没有这样的措辞,但我很好奇为什么它会返回这样的结果(我在react中也使用了同样的结果,而且效果很好),以及我如何将其转换为json。你在哪里登录app.jobs
?它在任何一点上都只是一个数组。另外,您可能打算执行app.crooks.push(…json.crooks)
或app.crooks=json.crooks
。@Decademon是的,解耦似乎已经完成了。顺便说一句:您应该认真研究一下,它做了很多与从e获取数据相关的事情。GREST API非常适合您,可与Vue配合使用。尽管SyntaxError:function语句需要名称脚本,但此代码仍会引发错误。js:10:18