怎样在js的一个方法中调用其他方法ajax返回的数据(list类型)

TatsuyaLMinami 2017-05-13 07:08:57
怎样在js的一个方法中调用其他方法ajax返回的数据(list类型),我调用成功了,但是不能传:
需求是,点击下一页后显示data中的数据,现在goPage1的参数有5个,但是data中有很多参数,不能调用goPage1
function goPage1(pno,psize,totalPage,data,num){
/* alert(num2);
alert(data3);*/
var currentPage = pno;//当前页数
var tempStr = "共"+totalPage+"页 第"+currentPage+"页";
var num1=data.length;
var title=document.getElementsByTagName("b");
for(var i=0;i<12;i++) {
title[i].innerHTML = "";
}
if(currentPage>1){
tempStr += "<a href=\"#\" onClick=\"goPage2("+(1)+","+psize+","+totalPage+","+data+","+num1+"),showTitle1("+data+","+num1+")\"> 首页 </a>";
tempStr += "<a href=\"#\" onClick=\"goPage2("+(currentPage-1)+","+psize+","+totalPage+","+data+","+(num+12)+"),showTitle1("+data+","+(num+12)+")\"><上一页 </a>"
}else{
tempStr += " 首页 ";
tempStr += "<上一页 ";
}
if(currentPage<totalPage){
tempStr += "<a href=\"#\" onClick=\"goPage2("+(currentPage+1)+","+psize+","+totalPage+","+data+","+(num-12)+")\">下一页></a>";/*,showTitle1("+data3+","+(num2-12)+")*/
tempStr += "<a href=\"#\" onClick=\"goPage2("+(totalPage)+","+psize+","+totalPage+","+data+","+(num1-(totalPage-1)*12)+"),showTitle1("+data+","+(num1-(totalPage-1)*12)+")\"> 尾页 </a>";
alert(tempStr);
}else{
tempStr += " 下一页>";
tempStr += " 尾页 ";
}
document.getElementById("div3id").innerHTML = tempStr;

}
function goPage2(pno,psize,totalPage,data,num){
alert(num);
alert(data);
var num1=data.length;
var currentPage = pno;//当前页数
var tempStr = "共"+totalPage+"页 第"+currentPage+"页";
for(var i=0;i<12;i++) {
title[i].innerHTML = "";
}
if(currentPage>1){
tempStr += "<a href=\"#\" onClick=\"goPage2("+(1)+","+psize+","+totalPage+","+data+","+num1+"),showTitle1("+data+","+num1+")\"> 首页 </a>";
tempStr += "<a href=\"#\" onClick=\"goPage2("+(currentPage-1)+","+psize+","+totalPage+","+data+","+(num+12)+"),showTitle1("+data+","+(num+12)+")\"><上一页 </a>"
}else{
tempStr += " 首页 ";
tempStr += "<上一页 ";
}
if(currentPage<totalPage){
tempStr += "<a href=\"#\" onClick=\"goPage2("+(currentPage+1)+","+psize+","+totalPage+","+data+","+(num-12)+")\">下一页></a>";/*,showTitle1("+data3+","+(num2-12)+")*/
tempStr += "<a href=\"#\" onClick=\"goPage2("+(totalPage)+","+psize+","+totalPage+","+data+","+(num1-(totalPage-1)*12)+"),showTitle1("+data+","+(num1-(totalPage-1)*12)+")\"> 尾页 </a>";
}else{
tempStr += " 下一页>";
tempStr += " 尾页 ";
}
document.getElementById("div3id").innerHTML = tempStr;
}
function showTitle1(data3,num2){
var num1=data3.length;
var title=document.getElementsByTagName("b");
if(num2<=12) {
for (var k=0;k<num2;k++) {
title[k].innerHTML = "<a href >"+ data3[num1-num2+k] +"</a>";
}
}
else {
for (var k=0;k<12;k++) {
title[k].innerHTML = "<a href >"+ data3[num1-num2+k] +"</a>";
}
}
}

function showTitle(id) {
var num2;
var data3;
var tType=document.getElementById(id).innerHTML;
var tType1=tType.substring(0, tType.lastIndexOf("("));
var title=document.getElementsByTagName("b");
for(var i=0;i<12;i++) {
title[i].innerHTML = "";
}
$.ajax({
url:"http://localhost:8080/blog/showTitle",
type:"post",
data:{tType:tType1},
dataType: "Json",
async:false,
cache:false,
success:function(data2) {
data3=data2;
var num = data2.length;
num2=num;
showTitle1(data2,num2)
if(num<=12) {
for (var k=0;k<data2.length;k++) {
title[k].innerHTML = "<a href >"+ data2[k] +"</a>";
}
var totalPage =1;
}else {
for (var k=0;k<12;k++) {
title[k].innerHTML = "<a href >"+ data2[k] +"</a>";
}
var totalPage = parseInt(num/12)+1;
};
goPage1(1,12,totalPage,data3,num2);
showTitle1(data3,num2);
},
error : function(data2) {
alert(data2.result);
}
});
return data3;
return num2;
}
...全文
830 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
正怒月神 2017-05-18
  • 打赏
  • 举报
回复
var q=全局变量 $.ajax................success(q=data).then(function(){你的方法}) 由于ajax是异步的,所以你没有办法确定你执行方法时,ajax一定是执行完了的。 所以需要then函数。这个函数时用来等待前一个方法执行完的
臭蛋丶 2017-05-18
  • 打赏
  • 举报
回复
别的都没看, 就看你最后两个return了, 第二个return有意义吗? 永远不会执行吧?
podd 2017-05-17
  • 打赏
  • 举报
回复
TatsuyaLMinami 2017-05-17
  • 打赏
  • 举报
回复
来人结贴了

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧