jquery ajax首次脚本不执行,ajax没响应解决方案

1、添加async:false.即修改为同步了,什么意思?

正如其名是异步请求,并不会等待你的执行结果返回程序就继续执行了。加上

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("<input type='text' placeholder='输入签名' class='signature'/>");
        $('.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";
        }
    });
});


转载于:https://my.oschina.net/rain21/blog/418890

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值