0

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

1 回答 1

0

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

$.ajax ...

并向服务器发送请求。

然后它快乐地继续前进并击中

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

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

您要做的是以if(corp某种方式将块放入您的成功调用中。

于 2013-09-21T21:51:52.550 回答