Xav*_*avi 53 javascript php ajax jquery
我有一个下拉框.当用户从下拉框中选择一个值时,它会执行查询以从数据库中检索数据,并使用ajax在前端显示结果.这需要一点时间,所以在这段时间里,我想展示一个进度条.我已经搜索过了,我已经找到了许多关于创建上传进度条的教程,但我还没有喜欢.有人可以为我提供一些有用的指导吗?
我的ajax代码:
<script>
$(function() {
$("#client").on("change", function() {
var clientid=$("#client").val();
$.ajax({
type:"post",
url:"clientnetworkpricelist/yourfile.php",
data:"title="+clientid,
success:function(data){
$("#result").html(data);
}
});
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
Pra*_*eek 66
此链接描述了如何将进度事件侦听器添加到xhr对象jquery.
$.ajax({
xhr: function() {
var xhr = new window.XMLHttpRequest();
// Upload progress
xhr.upload.addEventListener("progress", function(evt){
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
//Do something with upload progress
console.log(percentComplete);
}
}, false);
// Download progress
xhr.addEventListener("progress", function(evt){
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
// Do something with download progress
console.log(percentComplete);
}
}, false);
return xhr;
},
type: 'POST',
url: "/",
data: {},
success: function(data){
// Do something success-ish
}
});
Run Code Online (Sandbox Code Playgroud)
Suv*_*ker 21
<script>
$(function() {
$("#client").on("change", function() {
var clientid=$("#client").val();
//show the loading div here
$.ajax({
type:"post",
url:"clientnetworkpricelist/yourfile.php",
data:"title="+clientid,
success:function(data){
$("#result").html(data);
//hide the loading div here
}
});
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
或者您也可以这样做:
$(document).ajaxStart(function() {
// show loader on start
$("#loader").css("display","block");
}).ajaxSuccess(function() {
// hide loader on success
$("#loader").css("display","none");
});
Run Code Online (Sandbox Code Playgroud)
Ani*_*ish 13
基本上你需要有加载图像从这里免费下载http://www.ajaxload.info/
$(function() {
$("#client").on("change", function() {
var clientid=$("#client").val();
$('#loadingmessage').show();
$.ajax({
type:"post",
url:"clientnetworkpricelist/yourfile.php",
data:"title="+clientid,
success:function(data){
$('#loadingmessage').hide();
$("#result").html(data);
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
在HTML身上
<div id='loadingmessage' style='display:none'>
<img src='img/ajax-loader.gif'/>
</div>
Run Code Online (Sandbox Code Playgroud)
可能这可以帮到你
小智 6
这是一个在Razor中使用MVC和Javascript为我工作的示例.第一个函数通过我的控制器上的ajax调用一个动作并传递两个参数.
function redirectToAction(var1, var2)
{
try{
var url = '../actionnameinsamecontroller/' + routeId;
$.ajax({
type: "GET",
url: url,
data: { param1: var1, param2: var2 },
dataType: 'html',
success: function(){
},
error: function(xhr, ajaxOptions, thrownError){
alert(error);
}
});
}
catch(err)
{
alert(err.message);
}
}
Run Code Online (Sandbox Code Playgroud)
使用ajaxStart启动进度条形码.
$(document).ajaxStart(function(){
try
{
// showing a modal
$("#progressDialog").modal();
var i = 0;
var timeout = 750;
(function progressbar()
{
i++;
if(i < 1000)
{
// some code to make the progress bar move in a loop with a timeout to
// control the speed of the bar
iterateProgressBar();
setTimeout(progressbar, timeout);
}
}
)();
}
catch(err)
{
alert(err.message);
}
});
Run Code Online (Sandbox Code Playgroud)
该过程完成后关闭进度条
$(document).ajaxStop(function(){
// hide the progress bar
$("#progressDialog").modal('hide');
});
Run Code Online (Sandbox Code Playgroud)
小智 5
$(document).ready(function () {
$(document).ajaxStart(function () {
$('#wait').show();
});
$(document).ajaxStop(function () {
$('#wait').hide();
});
$(document).ajaxError(function () {
$('#wait').hide();
});
});Run Code Online (Sandbox Code Playgroud)
<div id="wait" style="display: none; width: 100%; height: 100%; top: 100px; left: 0px; position: fixed; z-index: 10000; text-align: center;">
<img src="../images/loading_blue2.gif" width="45" height="45" alt="Loading..." style="position: fixed; top: 50%; left: 50%;" />
</div>Run Code Online (Sandbox Code Playgroud)
经过大量搜索以显示进度条的方式来做出最优雅的充电后,找不到适合我目的的任何方式。检查请求的实际状态显示demaziado复杂,有时片段然后不起作用创建了一种非常简单的方法,但是它为我提供了(或几乎)寻求的经验,请遵循以下代码:
$.ajax({
type : 'GET',
url : url,
dataType: 'html',
timeout: 10000,
beforeSend: function(){
$('.my-box').html('<div class="progress"><div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div></div>');
$('.progress-bar').animate({width: "30%"}, 100);
},
success: function(data){
if(data == 'Unauthorized.'){
location.href = 'logout';
}else{
$('.progress-bar').animate({width: "100%"}, 100);
setTimeout(function(){
$('.progress-bar').css({width: "100%"});
setTimeout(function(){
$('.my-box').html(data);
}, 100);
}, 500);
}
},
error: function(request, status, err) {
alert((status == "timeout") ? "Timeout" : "error: " + request + status + err);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
171881 次 |
| 最近记录: |