小程序
小游戏
企业微信
微信支付
扫描小程序码分享
wx.request,跟scroll-view的bindscrolltolower一起使用有bug。
一下子无数请求,有人说没关系,多请求是好的。但是已经超过10个,而且多次成功 请求,计数次数不准确了!
12 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
错了错了,你就算没有返回一样触发fail的,还是一样的,wx.request本来就是多请求的,问题是scroll-view的触发也是多次触发。主要是解决scroll-view拖下去触发一次wx.request。结果触发无数次了。估计是scroll-view的问题
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
你这个实际上是发完请求返回数据后 才能再触发去发请求 这个现在没有错
这个只是发请求间隔快了 并没有重复请求
你这个没错啊 你再纠结啥了
汗了,变快难道还有错吗?加上放上定时器也没用的
那你弄个定时器再试试 别让他变这么快
是吧?都说有问题了
我试了下你的代码 你的request 都是很快就请求完毕了 怎么这么快
仔细看isCan的状态是有变化的 但是太快了
var
app = getApp()
Page({
data: {
logs:
'56'
,
myopenid:
''
iscan:
true
yue:
nian:
height:
'300'
nei:[],
nzc:
nsr:
yzc:
ysr:
s:20,
e:40,
zai:
xiu:[],
id:
},
inde:
function
(e){
console.log(e)
app.xiu=e.currentTarget.dataset
wx.navigateTo({
url:
'../ji/ji'
})
lower:
(k) {
//console.log(k)
wx.showToast({
title:
'加载中'
icon:
'loading'
that=
this
const page=20
iscan=that.data.iscan
console.log(that.data.s)
console.log(that.data.e)
if
(iscan){
that.setData({iscan:
false
wx.request({
'https://shang.32888.cn/jizhang/get/test1.php'
s: that.data.s ,
r: app.data.yemian.openid
header: {
'content-type'
:
'application/json'
success:
(res) {
wx.hideToast()
console.log(
'nei'
,res)
//var id = res.data.nei[0].id;
//that.setData({ id: id});
//if(that.data.id==id){return;}
(res.data.nei==
null
){
res.data.nei=[{neirong:
'没有数据了,这行是最后一行'
}]
that.setData({ nei: that.data.nei.concat(res.data.nei)})
return
}
that.setData({ nei:that.data.nei.concat(res.data.nei) })
// console.log(res.data.length)
(!res.data.nei){that.data.zai=
'kong'
//console.log(that.data.s)
that.setData({
s: that.data.e,
e: that.data.e + page
that.setData({ iscan:
onLoad:
(e) {
that.setData({ myopenid: app.data.yemian.openid })
date =
new
Date();
mou = date.getMonth() + 1
nian = date.getFullYear()
that.setData({ height: app.data.yemian.height - 70, yue: mou, nian:nian})
// console.log('zhang',e)
//var shu='hy'
r: app.data.yemian.openid,
s:
""
//console.log(res.data)
complete:
console.log(res.data)
da=res.data
that.setData({ nei: da.nei, nsr: da.nsr.shouru, nzc: da.nzc.zhichu, yzc: da.yzc.zhichu, ysr: da.ysr.shouru})
贴你代码 帮你看看哪错了
我试了一下,在回调 console.log还是会重复出现
没问题什么防止刷新啊 就是防止多发请求的 导致计数错误
上拉 分页 这是我做的 每页50条商品
用开关控制发不发请求不就得了
正在加载...
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
错了错了,你就算没有返回一样触发fail的,还是一样的,wx.request本来就是多请求的,问题是scroll-view的触发也是多次触发。主要是解决scroll-view拖下去触发一次wx.request。结果触发无数次了。估计是scroll-view的问题
你这个实际上是发完请求返回数据后 才能再触发去发请求 这个现在没有错
这个只是发请求间隔快了 并没有重复请求
你这个没错啊 你再纠结啥了
汗了,变快难道还有错吗?加上放上定时器也没用的
那你弄个定时器再试试 别让他变这么快
是吧?都说有问题了
我试了下你的代码 你的request 都是很快就请求完毕了 怎么这么快
仔细看isCan的状态是有变化的 但是太快了
var
app = getApp()
Page({
data: {
logs:
'56'
,
myopenid:
''
,
iscan:
true
,
yue:
''
,
nian:
''
,
height:
'300'
,
nei:[],
nzc:
''
,
nsr:
''
,
yzc:
''
,
ysr:
''
,
s:20,
e:40,
zai:
''
,
xiu:[],
id:
''
},
inde:
function
(e){
console.log(e)
app.xiu=e.currentTarget.dataset
wx.navigateTo({
url:
'../ji/ji'
})
},
lower:
function
(k) {
//console.log(k)
wx.showToast({
title:
'加载中'
,
icon:
'loading'
})
var
that=
this
const page=20
var
iscan=that.data.iscan
console.log(that.data.s)
console.log(that.data.e)
if
(iscan){
that.setData({iscan:
false
})
wx.request({
url:
'https://shang.32888.cn/jizhang/get/test1.php'
,
data: {
s: that.data.s ,
r: app.data.yemian.openid
},
header: {
'content-type'
:
'application/json'
},
success:
function
(res) {
wx.hideToast()
console.log(
'nei'
,res)
//var id = res.data.nei[0].id;
//that.setData({ id: id});
//if(that.data.id==id){return;}
if
(res.data.nei==
null
){
res.data.nei=[{neirong:
'没有数据了,这行是最后一行'
}]
that.setData({ nei: that.data.nei.concat(res.data.nei)})
return
false
}
that.setData({ nei:that.data.nei.concat(res.data.nei) })
// console.log(res.data.length)
if
(!res.data.nei){that.data.zai=
'kong'
}
//console.log(that.data.s)
that.setData({
s: that.data.e,
e: that.data.e + page
})
that.setData({ iscan:
true
})
}
})
}
},
onLoad:
function
(e) {
var
that=
this
that.setData({ myopenid: app.data.yemian.openid })
var
date =
new
Date();
var
mou = date.getMonth() + 1
var
nian = date.getFullYear()
that.setData({ height: app.data.yemian.height - 70, yue: mou, nian:nian})
// console.log('zhang',e)
//var shu='hy'
wx.request({
url:
'https://shang.32888.cn/jizhang/get/test1.php'
,
data: {
r: app.data.yemian.openid,
s:
""
},
success:
function
(res) {
//console.log(res.data)
},
complete:
function
(res) {
console.log(res.data)
var
da=res.data
that.setData({ nei: da.nei, nsr: da.nsr.shouru, nzc: da.nzc.zhichu, yzc: da.yzc.zhichu, ysr: da.ysr.shouru})
}
})
}
})
贴你代码 帮你看看哪错了
我试了一下,在回调 console.log还是会重复出现
没问题什么防止刷新啊 就是防止多发请求的 导致计数错误
上拉 分页 这是我做的 每页50条商品
用开关控制发不发请求不就得了