关键请求代码:
uni.request({
url: process.env.BASE_URL + 'path',
data: {
category_id: 3
},
header: {
'Authorization': 'Bearer ' + uni.getStorageSync('token')
},
success(a,b,c) {
console.log('返回数据', a,b,c);
},
fail(a,b,c) {
console.log('返回错误', a,b,c);
},
complete(a,b,c) {
console.log('请求完成', a,b,c);
}
})
问题描述:
在某些情况下,request无响应(即success,fail,complete3个回调方法都没有被回调)且控制台无任何错误输出。
根据返回的数据结构出现上述问题,数据结构大体如下:
{
"code": 200,
"msg": "操作成功",
"data": [
{
"id": 1,
"category_id": 3,
"reason_id": 0,
"type": 1,
"title": "您属于下列哪种人员?",
"quiz_item_num": 4,
"sorted": 0,
"quiz_items": [ //根据这个key下面的数量出现无响应问题
{
"id": 1,
"category_id": 3,
"reason_id": 0,
"quiz_id": 1,
"title": "某某人员",
"show_title": "",
"skip_type": null,
"skip_quiz_ids": null,
"other_quiz_item_ids": null,
"type": 4,
"is_end": 1,
"quiz_type": 1,
"learn_url": null,
"is_report": 1,
"next_quiz_id": 0,
"simple_checkbox_type": 0,
"suffix_title": ""
}
]
}
]
}
具体情况:
当不包含quiz_items时,一切正常
当quiz_items = [] 时,一切正常
当quiz_items中的字段较少时,一切正常
当quiz_items中的字段过多(不知道具体是几个字段,上面的例子就是字段过多),无响应
官网文档上说一次请求不超过50K,我可以确定一次请求绝对没有超过这个限制。
“单次网络请求数据量建议控制在50K以下(仅指json数据,不含图片),过多数据应分页获取,以提升应用体验。“
https://uniapp.dcloud.net.cn/api/request/request.html#request
1 个回复
7***@qq.com (作者) - coder
解决了。
是因为返回数据一旦超过了某个数(不是50K),控制台就不打印了!!!,导致我以为打印的地方没执行。实际上,是执行了的,数据也能正常拿到。