jquery改的值 vue不识别_jquery的ajax和vue的v-for 无法绑定动态数据?

在尝试将jQuery的AJAX获取的数据绑定到Vue的v-for循环中时遇到问题。错误包括:1) 使用<tr>和<td>元素导致Vue报错,需改为div或span;2) 未在data中定义items,应迭代datas;3) AJAX成功回调中错误地赋值给datas,应赋值给items;4) 跨域问题未处理;5) items需在Vue实例的data中定义为数组。解决方案包括正确定义和使用items,以及考虑使用vue-resource来替代jQuery的AJAX请求。
摘要由CSDN通过智能技术生成

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Title</title>

</head>

<body>

<div id="app_m">

<button v-on:click="getData">电影</button>

<tr v-for="item in items">

<td>{{item.title}}</td>

<!--<td>{{item.year}}</td>-->

<!--<td>{{item.subtype}}</td>-->

</tr>

</div>

<script src="vue.js"></script>

<script src="jquery-3.2.0.js"></script>

<script>

var web_douban = new Vue({

el : '#app_m',

data :{

datas:''

},

methods :{

getData : function () {

$.ajax({

type : 'Get',

dataType : 'jsonp',

url : ' http://api.douban.com/v2/movie/top250',

success : function (data) {

web_douban.data=data.subjects;

console.log(web_douban.data)

}

})

}

}

})

</script>

</body>

</html>

这里显示的报错信息

3b41c350f3bf9b0130fd3effa51b11a7.png

这是那个对象

0cbdb5a5e7e75ba3772226fb0049e766.png

最重要的一个错误: 把

<tr>,<td>

换掉,td是配合table用的,你单独的让vue去使用它会报错的.你可以先将它改成div,span

第一个错误:

你的

<tr v-for="item in items">

items 没有在data中去定义,所以vue告诉你这个是错误的, 看你的写法应该是想迭代

datas

吧?

第二个错误:

ajax success 函数中赋值不对, 你的v-for是迭代的items,为什么要给datas赋值?所以你在v-for中应该把items换成datas

建议使用vue-resource .

a7115dd2a498737720bfb70d7a504fc4.png

还有上面代码中涉及到了跨域 没有处理

你这个代码漏洞有点多。。。

items你定义了么?你应该在vue实例中的data中去定义他。

而且他应该是一个数组,所以

items:[]

定义了items之后,接下来就是更改,你ajax函数里面的变量,把datas换成items就好了,不好你打我。。。

不要盲目去模仿一种写法,形成定性思维了,items就是他的数据,他定义了你没定义,如何能用呢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值