首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

想请教下jquery ajax的有关问题

2012-03-30 
想请问下jquery ajax的问题小的今天使用jQuery ajax 时候,遇到点“进程”(不知道这词用得对不对)问题;大虾们

想请问下jquery ajax的问题
小的今天使用jQuery ajax 时候,遇到点“进程”(不知道这词用得对不对)问题;大虾们请看大致的代码示意阿,太长了,不能全写出来:
$(document).ready(function(){
  $("#XXX").append("<input type='hidden' value='' id='hidden_1'"); 
  function1(){ };  
   
  alert($("#hidden_1").val()+'3rd');

})


function1(){
 
  jQuery.getJSON("requestURL",function(data){
   
  alert(data.XXX + '1st');
  $("#hidden_1").val(data.xxx);
  })
  alert($("#hidden_1").val() + '2nd');
}

弹出结果顺序为
 2nd 
 3rd
 1st

猜想是在function1()里面没有等待ajax请求结束直接进行下一步了,请问这个问题该怎么规避和解决,请大虾们不惜赐教阿

[解决办法]
原因是你的function1里面的getJSON是异步的(默认就是异步),异步的意思就是新开一个后台线程执行ajax,前台线程继续往前走。

改成同步就行了,不过ajax.getJSON没有办法设置为同步。

参考这个帖子:http://topic.csdn.net/u/20101020/11/c9bf149d-29c9-44c3-9ed7-e598a9aecde9.html


[解决办法]
$.get(url,{},callBack);
function callBack(data){
alert(data);
}
var d=function hh(data){
callBack(data);
}

热点排行