Javascript 在ajax调用中设置延迟
我正在尝试在加载程序图标和以html格式显示的数据之间添加一个小延迟(2秒) 我尝试使用的是setTimeout并输入一个延迟数。这不起作用,所以我希望你能告诉我正确的方法是什么 我的ajax代码:Javascript 在ajax调用中设置延迟,javascript,jquery,ajax,delay,settimeout,Javascript,Jquery,Ajax,Delay,Settimeout,我正在尝试在加载程序图标和以html格式显示的数据之间添加一个小延迟(2秒) 我尝试使用的是setTimeout并输入一个延迟数。这不起作用,所以我希望你能告诉我正确的方法是什么 我的ajax代码: <script type="text/javascript"> $(function () { var delay = 2000; var res = { loader: $("<div />", { class: "loader" })
<script type="text/javascript">
$(function () {
var delay = 2000;
var res = {
loader: $("<div />", { class: "loader" })
};
$('#search').on('click', function () {
$.ajax({
type: 'GET',
url: "@Url.Action("Find", "Hotel")",
datatype: "html",
beforeSend: function () {
$("#group-panel-ajax").append(res.loader);
setTimeout(delay);
},
success: function (data) {
$("#group-panel-ajax").find(res.loader).remove();
$('#group-panel-ajax').html($(data).find("#group-panel-ajax"));
}
});
return false;
});
});
</script>
$(函数(){
var延迟=2000;
var res={
加载程序:$(“”,{class:“加载程序”})
};
$(“#搜索”)。在('click',函数(){
$.ajax({
键入:“GET”,
url:“@url.Action”(“查找”,“酒店”)”,
数据类型:“html”,
beforeSend:函数(){
$(“#组面板ajax”).append(res.loader);
设置超时(延迟);
},
成功:功能(数据){
$(“#组面板ajax”).find(res.loader.remove();
$('#group panel ajax').html($(data.find(“#group panel ajax”);
}
});
返回false;
});
});
现在它跑得真快。希望有人能帮忙。当我想做同样的事情时,我发现了一些东西:
function doStuff()
{
//do some things
setTimeout(continueExecution, 10000) //wait ten seconds before continuing
}
function continueExecution()
{
//finish doing things after the pause
}
希望它能帮助你像这样使用setTimeout()
:
<script type="text/javascript">
$(function () {
var delay = 2000;
var res = {
loader: $("<div />", { class: "loader" })
};
$('#search').on('click', function () {
$.ajax({
type: 'GET',
url: "@Url.Action("Find", "Hotel")",
datatype: "html",
beforeSend: function () {
$("#group-panel-ajax").append(res.loader);
},
success: function (data) {
setTimeout(function(){
$("#group-panel-ajax").find(res.loader).remove();
$('#group-panel-ajax').html($(data).find("#group-panel-ajax"));
}, delay);
}
});
return false;
});
});
</script>
$(函数(){
var延迟=2000;
var res={
加载程序:$(“”,{class:“加载程序”})
};
$(“#搜索”)。在('click',函数(){
$.ajax({
键入:“GET”,
url:“@url.Action”(“查找”,“酒店”)”,
数据类型:“html”,
beforeSend:函数(){
$(“#组面板ajax”).append(res.loader);
},
成功:功能(数据){
setTimeout(函数(){
$(“#组面板ajax”).find(res.loader.remove();
$('#group panel ajax').html($(data.find(“#group panel ajax”);
},延误);
}
});
返回false;
});
});
设置超时
应在成功
函数
中使用
$(函数(){
var延迟=2000;
var res={
加载器:$(“”{
类:“装入器”
})
};
$(“#搜索”)。在('click',function()上{
$.ajax({
键入:“GET”,
url:“@url.Action”(“查找”,“酒店”)”,
数据类型:“html”,
beforeSend:function(){
$(“#组面板ajax”).append(res.loader);
},
成功:功能(数据){
setTimeout(函数(){
延迟成功(数据);
},延误);
}
});
返回false;
});
});
函数延迟成功(数据){
$(“#组面板ajax”).find(res.loader.remove();
$('#group panel ajax').html($(data.find(“#group panel ajax”);
}
这不是setTimeout
的工作方式。你读过上面的吗?你在哪里看到setTimeout
被用作setTimeout(delay)
?我会找到更好的源代码/教程/文档。你到底想拖延什么?发送请求前是否需要延迟?或者,您希望在收到响应后和显示结果之前有一个延迟吗?在回答问题之前,至少给他一些时间来检查setTimeout()
的工作原理