jquery 为什么不执行 ajax,jquery ajax首次脚本不执行解决

1、添加async:false.即修改为同步了,什么意思?(按同事解释就是,这是等这个ajax有了返回值后才会执行下面的js。一语道破天机,怪不得以前很多ajax调用里面的赋值都不起作用)。这样等ajax给bol赋值完毕后,才执行下面的js部分。而刚刚异步的话,还没有来得及赋值,就已经return了。

$('document').ready(function() {

function newajax(info) {

$.ajax({

type: 'get',

async: false,

url: 'user.php',

data: info,

success: function(msg) {

if (msg == 1) {

rs = 1;

} else if (msg == 0) {

rs = 0;

} else {

rs = -1;

}

}

});

return rs;

}

$('#edit_signature').bind('click',

function() {

$('#s1').html("");

$('.signature').blur(function() {

var signature = $('.signature').val();

if (signature == '') {

$('.signature').hide();

} else {

var info = 'act=signature&value=' + signature;

var msg1 = newajax(info);

if (msg1 == 1) {

showmsg('修改成功');

$('.signature').hide();

$('#signature').html(signature);

} else if (msg1 == 0) {

showmsg('修改失败');

$('.signature').hide();

} else {

showmsg('请登录');

location.href = "http://localhost/bookboss/member/login.php";

}

}

});

});

$('#btn-save').click(function() {

var name1 = $('#name').val();

name = encodeURIComponent(name1, 'UTF-8');

var school = $('#school').val();

school = encodeURIComponent(school, 'UTF-8');

var professional = $('#professional').val();

professional = encodeURIComponent(professional, 'UTF-8');

var info = 'act=edit&name=' + name + '&school=' + school + '&professional=' + professional;

var msg1 = newajax(info);

if (msg1 == 1) {

showmsg('修改成功');

$('#name1').html(name1);

} else if (msg1 == 0) {

showmsg('修改失败');

} else {

showmsg('请登录');

location.href = "http://localhost/bookboss/member/login.php";

}

});

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值