Javascript:Javascript函数中的等待加载屏幕仅在我调试或暂停脚本时出现
我遇到了一个问题,JavaScript函数中的等待加载屏幕仅在我调试或暂停脚本时出现。如果我尝试直接执行,它根本不会出现Javascript:Javascript函数中的等待加载屏幕仅在我调试或暂停脚本时出现,javascript,Javascript,我遇到了一个问题,JavaScript函数中的等待加载屏幕仅在我调试或暂停脚本时出现。如果我尝试直接执行,它根本不会出现 $('#btnPesquisar').click(function () { $.ajax({ method: 'GET', url: '<%= ResolveUrl("LiberarBoleto.aspx/onSearch") %>', contentType: 'application/json; cha
$('#btnPesquisar').click(function () {
$.ajax({
method: 'GET',
url: '<%= ResolveUrl("LiberarBoleto.aspx/onSearch") %>',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: { pv: JSON.stringify($('#txtVenda').val()), imob: JSON.stringify($('#drpDownImob').val()) },
success: function (result) {
console.log('Passo 1')
showProgress();
console.log ('Sleep')
sleep(10000);
ProcessVendas(result);
sleep(10000);
console.log('Passo 2')
hideProgress();
console.log('Passo 3')
}
});
});
function showProgress() {
var updateProgress = $get("<%= UpdateProgress1.ClientID %>");
sleep(10000);
updateProgress.style.display = "block";
sleep(10000);
console.log('Exibição da Tela Aguarde Carregando Concluida')
//updateProgress.style.display = "none";
};
function hideProgress() {
var updateProgress = $get("<%= UpdateProgress1.ClientID %>");
updateProgress.style.display = "none";
}
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds) {
break;
}
}
}
$('btnPesquisar')。单击(函数(){
$.ajax({
方法:“GET”,
url:“”,
contentType:'application/json;charset=utf-8',
数据类型:“json”,
数据:{pv:JSON.stringify($('txtVenda').val()),imob:JSON.stringify($('drpDownImob').val())},
成功:功能(结果){
console.log('Passo 1')
showProgress();
console.log('Sleep')
睡眠(10000);
处理结果;
睡眠(10000);
console.log('Passo 2')
hideProgress();
console.log('Passo 3')
}
});
});
函数showProgress(){
var updateProgress=$get(“”);
睡眠(10000);
updateProgress.style.display=“block”;
睡眠(10000);
console.log('Exibição da Tela Aguarde Carregando conclusida')
//updateProgress.style.display=“无”;
};
函数hideProgress(){
var updateProgress=$get(“”);
updateProgress.style.display=“无”;
}
函数睡眠(毫秒){
var start=new Date().getTime();
对于(变量i=0;i<1e7;i++){
如果((新日期().getTime()-start)>毫秒){
打破
}
}
}
这里的大问题是,您将JavaScript视为完全同步,而get
请求则不是。因此,您可以使用jQuery发出一些get
请求,并将JavaScript置于休眠状态,直到它加载了get请求。然而,等待10秒钟可能就足以完成所有代码并隐藏加载屏幕
扔掉sleep函数,使用从jQuery的get
获取结果的正确方法构建更新函数(showprogress)
他们文档中的示例
$.get( "test.cgi", { name: "John", time: "2pm" } )
.done(function( data ) {
alert( "Data Loaded: " + data );
});
有关异步的详细信息:
这里的大问题是,您将JavaScript视为完全同步,而
get
请求则不是。因此,您可以使用jQuery发出一些get
请求,并将JavaScript置于休眠状态,直到它加载了get请求。然而,等待10秒钟可能就足以完成所有代码并隐藏加载屏幕
扔掉sleep函数,使用从jQuery的get
获取结果的正确方法构建更新函数(showprogress)
他们文档中的示例
$.get( "test.cgi", { name: "John", time: "2pm" } )
.done(function( data ) {
alert( "Data Loaded: " + data );
});
有关异步的详细信息:
通过上面的提示,我解决了以下问题:
$('#btnPesquisar').click(function () {
$.when(
$.ajax({
method: 'GET',
url: '<%= ResolveUrl("LiberarBoleto.aspx/onSearch") %>',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: { pv: JSON.stringify($('#txtVenda').val()), imob: JSON.stringify($('#drpDownImob').val()) },
success: function (result) {
//console.log('Passo 1')
////showProgress();
//// console.log ('Sleep')
//console.log('Passo 2')
ProcessVendas(result)
//console.log('Sleep')
sleep(1000);
}
}).then(showProgress())).done(function () { hideProgress() })
});
$('btnPesquisar')。单击(函数(){
美元。什么时候(
$.ajax({
方法:“GET”,
url:“”,
contentType:'application/json;charset=utf-8',
数据类型:“json”,
数据:{pv:JSON.stringify($('txtVenda').val()),imob:JSON.stringify($('drpDownImob').val())},
成功:功能(结果){
//console.log('Passo 1')
////showProgress();
////console.log('Sleep')
//console.log('Passo 2')
ProcessVendas(结果)
//console.log('Sleep')
睡眠(1000);
}
}).then(showProgress()).done(函数(){hideProgress()})
});
通过上面的提示,我解决了以下问题:
$('#btnPesquisar').click(function () {
$.when(
$.ajax({
method: 'GET',
url: '<%= ResolveUrl("LiberarBoleto.aspx/onSearch") %>',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: { pv: JSON.stringify($('#txtVenda').val()), imob: JSON.stringify($('#drpDownImob').val()) },
success: function (result) {
//console.log('Passo 1')
////showProgress();
//// console.log ('Sleep')
//console.log('Passo 2')
ProcessVendas(result)
//console.log('Sleep')
sleep(1000);
}
}).then(showProgress())).done(function () { hideProgress() })
});
$('btnPesquisar')。单击(函数(){
美元。什么时候(
$.ajax({
方法:“GET”,
url:“”,
contentType:'application/json;charset=utf-8',
数据类型:“json”,
数据:{pv:JSON.stringify($('txtVenda').val()),imob:JSON.stringify($('drpDownImob').val())},
成功:功能(结果){
//console.log('Passo 1')
////showProgress();
////console.log('Sleep')
//console.log('Passo 2')
ProcessVendas(结果)
//console.log('Sleep')
睡眠(1000);
}
}).then(showProgress()).done(函数(){hideProgress()})
});
什么是“等待加载屏幕”?在您的代码中,具体哪里发生了问题?这些sleep()
调用的目的是什么?Agghsleep
这不是JavaScript中需要的。对于其他编程语言来说很好,但对于JS来说不是。什么是“等待加载屏幕”?在您的代码中,具体哪里发生了问题?这些sleep()
调用的目的是什么?Agghsleep
这不是JavaScript中需要的。适用于其他编程语言,但不适用于JS。