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

因为需要跨域,所以使用回调函数,由于不能闭包,所以连续调用回调函数,最后卡住

2013-03-04 
由于需要跨域,所以使用回调函数,由于不能闭包,所以连续调用回调函数,最后卡住本帖最后由 showbo 于 2013-0

由于需要跨域,所以使用回调函数,由于不能闭包,所以连续调用回调函数,最后卡住
本帖最后由 showbo 于 2013-02-28 22:22:17 编辑

function register_submit()
{
//checkRegister_username();无法同步,只能把检查用户名方法体再次装入
var username = $("#register_username").val();
    var myreg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
  
  if(username=="" || username==null )
  {
 $("#checkRegister_username").text("用户名不能为空!");
 $("#register_username_truefalse").css("background","url(./images/cha.jpg)");
          return false;
  }
     if(!myreg.test(username))
     {
          // alert('提示\n\n请输入有效的E_mail!');
$("#checkRegister_username").text("请输入有效的E_mail!");
$("#register_username_truefalse").css("background","url(./images/cha.jpg)");
          // $("#login_username2").focus();
          return false;
     }

 $.ajax({
  type:"get",
  url:"http://main.gochinatv.com/servlet/user.do?operate=name&t="+new Date().getTime(),
  async:false,
  data:"login_name="+username,
  dataType:"jsonp",
  jsonp:"goc",
  jsonpCallback:"goc",
  success:function(msg){
  // jsonString = msg;
  if(msg.re=="0")
  {
   //alert(msg.re);
  $("#checkRegister_username").text("");
   $("#register_username_truefalse").css("background","url(./images/gou.jpg)");
  submitCheckOther();
  } 
  else
  {
  // alert(msg.re);
  $("#checkRegister_username").text("用户名已存在!");
   $("#register_username_truefalse").css("background","url(./images/cha.jpg)");
      }
  
  // alert(jsonString.re);

  }
   });
}

function submitCheckOther()
{
alert("进入检查其他");
checkRegister_password();
checkRegister_repassword();
var usernameCheck = $("#checkRegister_username").text();
var passwordCheck = $("#checkRegister_password").text();
var repasswordCheck = $("#checkRegister_repassword").text();
if(usernameCheck!=""  || passwordCheck !="" || repasswordCheck!="")
{
alert("register_submit() false!");
return false;
}
else
{
registerUser();
}
}

function registerUser()
{
alert("进入提交注册");
var jsonString ;
var userid;
var username = $("#register_username").val();
var password = $("#register_password").val();
$.ajax({
type:"get",
url:"http://main.gochinatv.com/servlet/user.do?operate=register&t="+new Date().getTime(),
async:false,
data:"login_name="+username+"&login_pass="+password,
dataType:"jsonp",
jsonp:"goc",
jsonpCallback:"goc",
success:function(msg)
{
   jsonString= msg;
   if(jsonString.re=="1")
   {
   alert(11111);
   alert("注册成功"); 


   userid=jsonString.userid;
   loginUser(userid,username);
   }
   else
   {
alert("服务器异常,注册失败");
   }
},
error: function(a,b,c){
alert(a,b,c)
}
});
}

ajax? 回调函数 连续使用
[解决办法]
jsonp:"goc",

指定了jsonp,动态页获取回调函数名称的键值变为goc,而不是默认的callback了,自己检查下键名称对了没


jsonpCallback:"goc"

指定这个需要自己注册一个goc回调函数,贴出来的代码没见goc函数。

热点排行