gpt4 book ai didi

javascript - 我应该在哪里添加一个 AJAX 调用来加载 throbber?

转载 作者:行者123 更新时间:2023-11-30 17:38:19 36 4
gpt4 key购买 nike

这是当用户单击生成缩短的 url 的按钮时调用的函数,我想知道我将在哪里使用 throbber 的 AJAX 调用。这需要几秒钟,我想同时使用 throbber。或者我最终会在单击按钮时调用的函数之外创建一个全新的函数吗?我还没有看到任何其他看起来像我的代码的示例。真的很新,非常感谢任何帮助,谢谢。

我想我需要将 gif 链接到...的 html

<img src="gif/Loader.gif" id="loader"/>

我正在使用当前的 js 函数生成短 url 函数,虽然它需要几秒钟,所以我想我需要在某处调用我的 gif 并在回调成功时摆脱它?

function getShare()
{
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 = document.getElementById('gif_input').value;
var vidUrl = document.getElementById('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)
{
//document.getElementById("results").innerHTML = JSON.stringify(data);
//alert(JSON.stringify(data));
var obj = jQuery.parseJSON(JSON.stringify(data));
//alert(obj.shortUrl);
jQuery("#input-url").val(obj.shortUrl);
}

最佳答案

在应该显示的位置添加您的图像,但隐藏它:

<img src="gif/Loader.gif" id="loader" style="display:none;"/>

这是获取 url 和访问 API 的函数

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

console.log(response.url, response.shortUrl);

jQuery("#input-url").val(response.shortUrl);
}
},
error:function(){
jQuery('#loader').hide(); // hide loading...
//todo: network error o_O
}
});
}

顺便说一句,如果你想获取 HTML 元素的值使用

var gifUrl = jQuery('#gif_input').val();

代替

var gifUrl = document.getElementById('gif_input').value;

关于javascript - 我应该在哪里添加一个 AJAX 调用来加载 throbber?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21590538/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com