mui 中的一个上拉加载及下拉刷新的方法 ,但是我使用ajax拿不到url中的数据,是为什么?
(function($) {
//阻尼系数
var deceleration = mui.os.ios?0.003:0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: false,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
$.ready(function() {
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-slider-group .mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
callback: function() {
var self = this;
setTimeout(function() {
var ul = self.element.querySelector('.mui-table-view');
ul.insertBefore(createFragment(ul, index, 10, true), ul.firstChild);
self.endPullDownToRefresh();
}, 1000);
}
},
up: {
callback: function() {
var self = this;
setTimeout(function() {
var ul = self.element.querySelector('.mui-table-view');
ul.appendChild(createFragment(ul, index, 5));
self.endPullUpToRefresh();
}, 1000);
}
}
});
});
var createFragment = function(ul, index, count, reverse) {
//var length = ul.querySelectorAll('li').length;
var fragment = document.createDocumentFragment();
var li;
var dataArr = dataList();//我在这里调用这个方法
for (var z = 0; z < count; z++) {
li = document.createElement('li');
li.className = 'mui-table-view-cell';
//li.innerHTML = '第' + (index + 1) + '个选项卡子项-' + (length + (reverse ? (count - i) : (i + 1)));
for(var i = 0; i < dataArr.length; i++){
var item = data[i];
var faqId = item.faqId;
var faqName = item.faqName;
}
li.innerHTML = '<li class="mui-table-view-cell" data-id=' + faqId + '><a class="mui-navigate-right"><p class="anviz-ellipsis js-ellipsis">' + faqName + '</p></a></li>'
fragment.appendChild(li);
}
return fragment;
};
//没有拿到数据,但是url测试时是有数据的
var dataList = function(){
var url = 'http://www.beta.anviz.com/myanviz/faq/ajax.html?category_id=0';
var dataArr = [];
mui.ajax({
type: 'GET',
url: url,
dataType: 'json',
success: function(data) {
console.log(data);//这个data就没有数据
var list = data.data;
for(var i = 0; i < list.length; i++) {
var item = list[i];
var faqName = item.faqName;
var faqId = item.faqId;
var dataEntity = {};
dataEntity.faqName = faqName;
dataEntity.faqId = faqId;
}
dataArr.push(dataEntity);
return dataArr;
}
});
}
});
})(mui);
ajax中的url是有数据的,但是却在调试中却取不出来,不知道是什么原因,大家能帮着看看吗?谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
ajax是异步的,var dataArr = dataList() 这样子赋值只能是undefined咯,试一下用callback在success里面处理