Jquery - 加载动画问题

时间:2013-10-17 14:09:00

标签: javascript jquery ajax

我正在尝试在进行AJAX调用后显示加载图像。

目前我有以下Javascript代码:

window.onload = function(){

var img = document.createElement("IMG");
img.src = "http://i.stack.imgur.com/FhHRx.gif";

function getCategories(){
    $.ajax({
        url: //url here,
        dataType:'jsonp',           
        success: function(data){

            //code here

        },
        statusCode: {
            404: function() {
                alert:('There was a problem with the server');
            }
        }

    }); 
}



$(document).ajaxStart(function(){   
    alert('here');
    var div = document.createElement("div");
    div.id = "id1";
    document.getElementById('id1').appendChild(img);
    document.body.appendChild(div);

}).ajaxStop(function(){
    var element = document.getElementById('id1');
    element.parentNode.removeChild(element);

});

然而,我发现代码甚至没有进入ajaxStart函数,因为警报没有出现......我尝试过其他方法(例如:How to show loading spinner in jQuery?)尝试使其工作但是尚未成功......

有人能帮忙吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

您很可能因意外令牌而收到错误,因为您声明的功能不正确。

Uncaught SyntaxError: Unexpected token { 

您需要使用以下任一方式声明一个函数:

function getCategories () { }

或者:

var getCategories = function () { };

答案 1 :(得分:0)

我想我在这里找到了解决方案($(document).ajaxstart not firing

似乎ajaxStart仅在使用XMLHttpRequest时有效。如果您使用JSONP,则不使用XMLHttpRequest。相反,它会插入<script>标记来实现此目标。

我只是使用了上面链接中建议的解决方法。