push 方法改变的是数组本身,返回值是push之后数组的长度。
所以,代码应该这样写:
var queue = []queue.push( 'A', 'B' )
console.log( queue ) // output [ 'A', 'B' ]
我不是很明白楼主的用意!即是异步请求了怎么还能按队列依次加载?所谓一步就是你的程序和当前加载的另外一个程序不在一个队列上,如果你想要按队列依次加载,那么就用同步请求!JQuery ajax已经将这些封装的很好了,你可以直接去使用的!举个例子:
$.ajax({type: "POST", //请求方式(GET 或 POST)
async: false, //同步请求,默认为true即异步请求
url: "...", //请求地址
data: {id : menuId},
dataType: "html",
success:function(data){ //请求成功后,调用的回调函数
alert(data) //服务器返回给前端的数据
}
})
如果你对JQuery 不是很懂,下面的这个是JQuery中文API,希望对你有所帮助!链接:
http://www.css88.com/jqapi-1.9/jQuery.ajax/
使用jQuery队列就行,执行原理先进先出,按顺序执行。
jQuery(document).queue("message",function () {jQuery.ajax({
url:ajaxurl,
data:{ action:"Show",param:Math.random() },
type:"post",
dataType:"json",
success:function(jsonNotice){
var obj = jsonNotice
jQuery("#messagebody").empty()
jQuery.each(obj ,function(i, n) {
alert(‘sds’);
})
jQuery(document).dequeue("message")
},
error:function(){
//alert("error")
jQuery(document).queue("message", [] )
}
})
})
jQuery(document).queue("message",function () {
jQuery.ajax({
url:ajaxurl,
data:{ action:"returnCount",param:Math.random() },
type:"post",
success:function(str){
PgCount = str
jQuery(document).dequeue("message")
},
error:function(){
jQuery(document).queue("message", [] )
}
})
})
//分页DIV
jQuery(document).queue("message",function () {
if(PgCount>0)
{
jQuery("#null_face").hide()
jQuery("#messagepage").pagination(PgCount, {
callback: pageselectCallback,
prev_text: '上一页',
next_text: '下一页',
items_per_page:5,
num_display_entries:6,
current_page:pageindex,
num_edge_entries:2
})
jQuery(document).dequeue("message")
}
else
{
jQuery("#null_face").show()
jQuery("#messagepage").empty()
}
})
jQuery(document).dequeue("message") //触发队列
}
这是一个例子