第二次单击后按钮不起作用

时间:2014-01-12 05:10:00

标签: javascript jquery html ajax

我有一个在javascript中调用函数的按钮。 javascript依次运行两个连续的ajax调用。在第一个完成后,它会做一些额外的工作,然后运行第二个ajax调用。

按钮首次单击时可以使用。但是,当我想再次点击它时会弹出以下错误...

Uncaught TypeError: object is not a function

参考我的函数,从按钮调用'onclick'。

我对ajax很新,但我确信这不应该发生。其他按钮工作正常,它们都从同一个脚本调用函数。它似乎只是这一功能。我本以为会有一个分号丢失或者什么东西,但是第一次就没有用了......而且,我知道函数已经完成执行,因为我调试了函数并且它到达底部...

如果你感兴趣,这是我的ajax电话......

var $response = $.ajax({
    url: $abs_filename,
    type: 'HEAD',
    async: false,
    success: function () {
        console.log('done');
    }
}).status;
($response != "200") ? $exist = false : $exist = true;

....这里有很多额外的代码 ....

var response = $.ajax({
    type: 'POST',
    url: '/SERT/includes/file_operations.php',//url of receiver file on server
    data: {saves: $save_data}, //your data
    dataType: 'text', //text...
    success: function(res) {
        alert(res);
    },
    async: false
}).status;

编辑: 我的功能由

调用
<input type="button" .... onclick="save_session()">

2 个答案:

答案 0 :(得分:0)

您实际上没有显示导致错误的代码。

...然而

不要这样做;它没有按照你的想法做到。

($response != "200") ? $exist = false : $exist = true;

这样做:

$exist = $response == "200";

只是不要使用同步XHR。

答案 1 :(得分:0)

我能够弄明白......

所以我在save_session()函数内部进行了jQuery追加操作。这样的操作就是这样......

$bottom_section.append('<input type="hidden" name="save_session" value="' + $total + ' ' + $paragraph + '">');

当我把它拿出来然后整个事情按预期工作。我的猜测是通过在内存中命名输入“save_session”与save_session()的函数定义混淆。现在没有定义冲突,那就没关系了。