0

下面是一个 AJAX 函数,我试图在请求期间显示加载程序 gif 并在成功时隐藏。基本上我从 response.success 内部的函数开始,它曾经单独工作。它创建短 url 并将其设置为输入字段的值。我看到了包含该功能的其余部分,但我在控制台中收到 404 错误,因为无法加载资源。我敢肯定这是一个直截了当的答案,我太新了,不能说,但我想我已经很接近了。非常感谢任何帮助,谢谢。

 function getShare(url)
    { 
        $('#loader').show(); // show loading...
        $.ajax({
            dataType: "jsonp",
            jsonpCallback:'apiCallback', // this will be send to api as ?callback=apiCallback because this api do not want to work with default $ callback function name
            url: 'http://b1t.co/Site/api/External/MakeUrlWithGet',
            data: {'url':url},
            success: function(response){
                $('#loader').hide(); // hide loading...
                //respponse = {success: true, url: "http://sdfsdfs", shortUrl: "http://b1t.co/qz"} 
                if(response.success){

                    {       
                    var s = document.createElement('script');
                    var browserUrl = document.location.href;
                    //alert(browserUrl);
                    if (browserUrl.indexOf("?") != -1){
                            browserUrl = browserUrl.split("?");
                            browserUrl = browserUrl[0];
                    }
                    //alert(browserUrl);

                    var gifUrl = $('#gif_input').value;
                    var vidUrl = $('#vid_input').value;
                    //alert(gifUrl + "|" + vidUrl);

                    url = encodeURIComponent(browserUrl + "?gifVid=" + gifUrl + "|" + vidUrl);
                    //alert(encodeURIComponent("&"));
                    s.id = 'dynScript';
                    s.type='text/javascript';
                    s.src = "http://b1t.co/Site/api/External/MakeUrlWithGet?callback=resultsCallBack&url=" + url;
                    document.getElementsByTagName('head')[0].appendChild(s);
                    }

    function resultsCallBack(data)
    {
        var obj = jQuery.parseJSON(JSON.stringify(data));
        $("#input-url").val(obj.shortUrl);
        }
        }
    },
        error:function(){
        $('#loader').hide();
        }
        });
    }
4

0 回答 0