1

当我的 html 页面加载时,我正在尝试使用 jquery 执行 3 个 ajax 请求。我已经尝试过队列,将异步设置为“false”以及所有可以想象的事情。

我正在向 web 服务发送请求,然后查询数据库,然后 web 服务以 json 格式返回结果。

问题是当我访问该页面时,他执行了一个请求,或者两个或全部。每次我刷新页面,结果都不一样。

这是我的代码:

$(window).load(function() {

    $.ajax({

        url : "/api/apiJ.php?request=getProfileInfo&id=" + $.cookie("id") + "&token=" + $.cookie("token"),
        type : "GET",
        success : function(data) {

            console.log("Dados: " + data);

            var profile = jQuery.parseJSON(data);

            if (profile.resp == "true") {

                $("#username").html(profile.Nome);

                $("#avatar").html('<img src="' + profile.Avatar + '" alt=""/>');

                $("#nome").html(profile.Nome);
                $("#email").html(profile.Email);
                $("#local").html(profile.Cidade + ", " + profile.Pais);

                $.cookie("token", profile.token);

                $(document).dequeue();

            }
        }
    });

    $.ajax({

        url : "/api/apiJ.php?request=getMyContacts&id=" + $.cookie("id") + "&token=" + $.cookie("token"),
        type : "GET",
        success : function(data) {

            var cont = jQuery.parseJSON(data);

            console.log("Contatos: " + data);

            if (cont.resp == "true") {
                var htmls = '<ul>';

                for (var i = 0; cont[i] != null; i++) {
                    //htmls += '<li class="thumbnail" >';
                    htmls += '<li class="thumbnail" style="position: absolute; top: 0px; left: ' + (6 + 128 * i) + 'px; display: list-item;">';

                    if (cont[i].Colega.Avatar == "")
                        htmls += '<a title="' + cont[i].Colega.PrimeiroNome + ' ' + cont[i].Colega.UltimoNome + '" href="gallery/blank-profile.jpg" rel="gallery" class="cboxElement"> <img src="gallery/blank-profile.jpg" alt="" /></a>';
                    else
                        htmls += '<a title="' + cont[i].Colega.PrimeiroNome + ' ' + cont[i].Colega.UltimoNome + '" href="' + cont[i].Colega.Avatar + '" rel="gallery" class="cboxElement"> <img src="' + cont[i].Colega.Avatar + '" alt="" /></a>';

                    htmls += '<p>' + '<a href="javascript:void(0)" title="Apagar"><i class="icon-trash"></i></a>' + '<a href="javascript:void(0)" title="Editar"><i class="icon-pencil"></i></a>' + '<span>' + cont[i].Colega.PrimeiroNome + ' ' + cont[i].Colega.UltimoNome + '</span>' + '</p></li>';
                }

                htmls += '</ul>';

                $("#small_grid2").html(htmls);

                $.cookie("token", cont.token);

                $(document).dequeue();

            }
        }
    });

    $.ajax({

        url : "/api/apiJ.php?request=getFileListFromUser&id=" + $.cookie("id") + "&token=" + $.cookie("token"),
        type : "GET",
        success : function(data) {

            var files = jQuery.parseJSON(data);

            if (files.resp == "true") {

                var htmls = '';

                for (var i = 0; files.Ficheiros[i] != null; i++) {

                    htmls += '<dt><a id=\"' + files.Ficheiros[i].idFicheiro + '\" href=\"' + files.Ficheiros[i].url + '\" style=\"color\:\#000\">' + files.Ficheiros[i].nome + '</a></dt>' + '<dd class="profile_files">' + files.Ficheiros[i].nome + ' <p align="right" >';

                    htmls += '<a href="javascript:void(0)" title="Apagar"><i class="icon-trash"></i></a><a href="javascript:void(0)" title="Editar"><i class="icon-pencil"></i></a></p> </dd>';

                }

                $("#listaFicheiros").html(htmls);

                $.cookie("token", files.token);

            } else {
                var htmls = '<dt><a href="#" style="color:#000">Não existem ficheiros para este utilizador</a></dt>' + '<dd class="profile_files"> 0 ficheiros encontrados </dd>';

                $("#listaFicheiros").html(htmls);
            }
        }
    });

});

这真让我抓狂...

4

0 回答 0