无法使用AJAX调用设置变量

时间:2013-09-21 21:48:28

标签: jquery ajax

我有一个似乎正确执行的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);

1 个答案:

答案 0 :(得分:0)

AJAX调用是异步的,所以你的代码命中

$.ajax ...

并向服务器发送请求。

然后快乐地继续前进并点击

if(corp=="CPA") ...

稍后,服务器会响应并调用您的成功函数。这可能发生在if(corp阻止之后。

您要做的是将if(corp块放在成功通话中。