之前使用Hbuilder开发APP,到绑定数据的时候使用Ajax获取JSON,
但是获取到的JSON只能在success的回调函数里面使用,
不管怎么赋值只要一出success回调函数后立马获取不到数据,
而且下拉刷新的时候无法再次使用ajax获取数据,或者点击的时候也无法使用ajax再次获取数据,
不知道我使用方式不对还是怎么回事,想问问还有其他获取数据的办法吗?
我想跟后台的开发人员说直接把全部数据跟我,然后我这边来处理数据的显示,可行吗?因为做的是电商类APP,数据量有点大
之前使用Hbuilder开发APP,到绑定数据的时候使用Ajax获取JSON,
但是获取到的JSON只能在success的回调函数里面使用,
不管怎么赋值只要一出success回调函数后立马获取不到数据,
而且下拉刷新的时候无法再次使用ajax获取数据,或者点击的时候也无法使用ajax再次获取数据,
不知道我使用方式不对还是怎么回事,想问问还有其他获取数据的办法吗?
我想跟后台的开发人员说直接把全部数据跟我,然后我这边来处理数据的显示,可行吗?因为做的是电商类APP,数据量有点大
如一楼所说,你需要在success回调外面使用变量,请在外面的闭包里面申明变量,并在success回调里面赋值就好。
至于你说的重新请求的问题,其实默认情况下通常Ajax会优先从HTTP缓存里面取数据,所以即使重新发请求,也不见得就一定是从后台拿数据的。
前后端通信的方式,比较方便的现在我知道的只有ajax。
你说只要一出success,就无法获得数据,不知道你的代码怎么书写的。
按我的理解,下拉获取数据的过程无非是翻页的变种
下拉->ajax->append
我尝试用拙劣的伪代码描述一下
touch function{
ajax();
}
ajax = function (){
append();
}
append = function(){}
这样不就够了吗?
至于获得下一页数据,我现在跟后端的约定,页面初次渲染是用模版编译在页面隐藏一个input上面带有key,当请求下一个数据,将这个key从dom节点中抓取,并发送,后端再次返回date并且返回下一个的key,前端操作,append的时候,并修改隐藏input上的key,不停重复。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
你这下拉再次不能异步肯定有问题啊,还有函数外面先var一个变量,success里给变量赋值就行,complete里也就能用了吧。我现在的认知水平数据这么大全拿来你要起飞啊js浏览器能受得了?你就分页分段取,数据大了数据库拿出来放缓存,你就想怎么取怎么取,不建议全拿过来