0

所以我的代码看起来像这样http://jsfiddle.net/qBZMh/4/

现在,它不会添加“活动”类,因为它找不到请求的文件,对我来说它找到了文件但它不会运行文件。我的 PHP 文件如下所示:

<?php
$time = time();
mysql_query("INSERT INTO friends
(userid, userid2, `type`, `date`) VALUES
('1', '2', '1', '$time' )") or die(mysql_error());
?>

jQuery:

$(document).ready(function () {
    $("#addfriend").click(function () {
        $.ajax({
            url: "snippets/profile_addfriend.php",
            context: document.body
        }).done(function () {
            $("#addfriend").addClass("active");
        });
    });
});

$(document).ready(function () {
    $("body").on({
        ajaxStart: function () {
            $(this).addClass("loading");
        },
        ajaxStop: function () {
            //$(this).removeClass("loading");
        }
    });
});

应该有变量而不是数字,但只是为了看看它是否真的运行,我已经删除了它。

所以,问题是:

  1. 它会找到 PHP 文件,但不会运行脚本。

  2. 它没有显示加载栏,我可能理解错了,但我想要它,所以我的按钮被加载栏替换,然后在脚本执行后再次出现。

4

2 回答 2

1

从 jQuery 1.8 开始,.ajaxStart() 方法只能附加到文档。

http://api.jquery.com/ajaxStart/

 $(document).on({ //no need to be inside document ready handler!
        ajaxStart: function () { alert('yy');
            $('body').addClass("loading");
        },
        ajaxStop: function () {
            $('body').removeClass("loading");
        }
    });
于 2013-05-26T13:06:28.577 回答
0

您没有 404 的回退。如果找不到它,它将提示 404 not found 错误。你可以添加

   error: function(XMLHttpRequest, textStatus, errorThrown){
    alert('status:' + XMLHttpRequest.status + ', status text: ' + XMLHttpRequest.statusText);
},

为 404 添加一个捕获。

于 2013-05-26T13:06:23.763 回答