function StartProducts(v) {
var jsonStr = "";
jQuery.ajax({ //用ajax调用后台方法
type: "post", //post方法
contentType: "application/json; charset=utf-8", //获取返回值格式
url: "WebServiceKatongdiao.asmx/zhuanhuan", //方法名称
data: "{\"type\":\""+v+"\"}", //方法参数
async: false, //禁用异步
dataType: 'json', //返回类型
success: function (data) {
jsonStr = window["eval"]("(" + data.d + ")"); //返回值
},
Error: function (err) {
alert(err);
}
});
search_content_array = jsonStr;
load_html_start_products(1); //调用填充方法
}function load_html_start_products(page) {
var total_item = 12; //每页显示的条数
var length = search_content_array.length; //显示 json的值(数组的个数)
var total_page = Math.ceil(length / total_item); //总页数
var begin = (page - 1) * total_item; //第几页(开始记录)
var end = page * total_item; //最后记录(如:1页(0---4)) var message_obj = new Object();
//page是传值 message_obj.page = page; //当前页码
message_obj.total_page = total_page;
var buf = [];
if (0 < page && page <= total_page) {
for (var i = 0; i < search_content_array.length; i++) {
if ((i >= begin) && (i < end)) {
buf.push(make_content_list_products(search_content_array[i])); //填充页码
}
}
jQuery(".HomePageMain_body_simplePlay_pictureControl").html(buf.join("")); //填充页码 }
$(".HomePageMain_body_simplePlay_pictureControl_pictureFrame_picture img").click(function () {
window.location.href = "CreatePic.aspx?backImgId=" + $(this).attr("id") + "&imgSrc=" + $(this).attr("src"); //点击图片时做出相应跳转
});这是我调用ajax的方法
这个是要在页面初始化的时候调用的,当把async:false添加上去的时候 ajax不执行也不处理 ,进行的是同步处理, 页面能够显示出后台查询出来的数据, 当把async:false去掉的时候,默认是做的异步处理, 页面上显示不出来后台查询出的数据, 请问一下各位高手, 我该怎么调用才能够既进行异步处理,页面上又能够显示出数据呢?
难道异步的时候对dom操作失效了?
应该不会吧。
search_content_array 这个是全局变量么?为什么要这样写啊。貌似越来越复杂化了。
function StartProducts(v) {
var jsonStr = "";
jQuery.ajax({ //用ajax调用后台方法
type: "post", //post方法
contentType: "application/json; charset=utf-8", //获取返回值格式
url: "WebServiceKatongdiao.asmx/zhuanhuan", //方法名称
data: "{\"type\":\""+v+"\"}", //方法参数 //禁用异步
dataType: 'json', //返回类型
success: function (data) {
jsonStr = window["eval"]("(" + data.d + ")"); //返回值
search_content_array = jsonStr;
load_html_start_product(1); // 位置调这里 调用填充方法 },
Error: function (err) {
alert(err);
}
});
}
否则异步都还没有结束,就调用方法加载dom数据,肯定没有结果的改进看上面回复 调换位置