Jquery 无法使用AJAX调用设置变量

Jquery 无法使用AJAX调用设置变量,jquery,ajax,Jquery,Ajax,我有一个对ajax的调用,它似乎执行得很好,但我不能在调用的成功部分设置断点。基础数据库已更改,我想返回“tppunk”中已更改的项目数的值。在使用Firebug进行调试时,调试器不会在“成功”中停止,即使它确实成功了。相反,我在调用后跳转到代码,并且“tppunk”被标识为未定义。这是我的密码: var json = {'tagset': tagset} var tppunk; $.ajax({ url: clr_url_base+'savetags.php?data='+encode

我有一个对ajax的调用,它似乎执行得很好,但我不能在调用的成功部分设置断点。基础数据库已更改,我想返回“tppunk”中已更改的项目数的值。在使用Firebug进行调试时,调试器不会在“成功”中停止,即使它确实成功了。相反,我在调用后跳转到代码,并且“tppunk”被标识为未定义。这是我的密码:

var json = {'tagset': tagset}
var tppunk;
$.ajax({
    url: clr_url_base+'savetags.php?data='+encodeURIComponent($.toJSON(json)),
    type: 'GET',
    success: function (d) {
        tppunk = d;
        $('h2').removeClass("changed");
        $('h2').addClass("saved");
    },
    complete: function () {
        $('h2').removeClass("changed");
        $('h2').addClass("saved");
    }
});

if(corp == "CPA")
    window.opener.$('span.tppunk').text(tppunk);

AJAX调用是异步的,因此您的代码

$.ajax ...
并向服务器发送请求

然后它愉快地继续前进并击中目标

if(corp=="CPA") ...
在稍后的某个时间点,服务器响应并调用success函数。这可能发生在
if(corp
块之后


您要做的是在(corp以某种方式阻止你的成功呼叫。

有很多类似的问题。提示你正在做的是异步的,并放置一些调试语句,看看发生了什么以及何时发生。这些建议很有意义,我会继续跟进。这种Aynchronity的东西不是直观的,我还不了解回调方法谢谢大家。