首页 > 使用H5开发的APP进行数据交互的时候是不是只能使用Ajax?

使用H5开发的APP进行数据交互的时候是不是只能使用Ajax?

之前使用Hbuilder开发APP,到绑定数据的时候使用Ajax获取JSON,

但是获取到的JSON只能在success的回调函数里面使用,

不管怎么赋值只要一出success回调函数后立马获取不到数据,

而且下拉刷新的时候无法再次使用ajax获取数据,或者点击的时候也无法使用ajax再次获取数据,

不知道我使用方式不对还是怎么回事,想问问还有其他获取数据的办法吗?

我想跟后台的开发人员说直接把全部数据跟我,然后我这边来处理数据的显示,可行吗?因为做的是电商类APP,数据量有点大


ajax是异步的, success的时候, 外面的函数都执行完了, 所以只能在success里进行下一步的处理


无法再次获取数据,可以在请求地址后面加一个参数值为随机数。相当于每次请求地址不一样就不会读到缓存了。


如一楼所说,你需要在success回调外面使用变量,请在外面的闭包里面申明变量,并在success回调里面赋值就好。

至于你说的重新请求的问题,其实默认情况下通常Ajax会优先从HTTP缓存里面取数据,所以即使重新发请求,也不见得就一定是从后台拿数据的。


你这下拉再次不能异步肯定有问题啊,还有函数外面先var一个变量,success里给变量赋值就行,complete里也就能用了吧。我现在的认知水平数据这么大全拿来你要起飞啊js浏览器能受得了?你就分页分段取,数据大了数据库拿出来放缓存,你就想怎么取怎么取,不建议全拿过来


前后端通信的方式,比较方便的现在我知道的只有ajax。
你说只要一出success,就无法获得数据,不知道你的代码怎么书写的。
按我的理解,下拉获取数据的过程无非是翻页的变种

下拉->ajax->append

我尝试用拙劣的伪代码描述一下

touch function{
    ajax();
}

ajax = function (){
    append();
}
append = function(){}

这样不就够了吗?
至于获得下一页数据,我现在跟后端的约定,页面初次渲染是用模版编译在页面隐藏一个input上面带有key,当请求下一个数据,将这个key从dom节点中抓取,并发送,后端再次返回date并且返回下一个的key,前端操作,append的时候,并修改隐藏input上的key,不停重复。

【热门文章】
【热门文章】