Jquery ajax when
Jquery ajax when
我使用jquery等待,直到ajax函数完成,然后在测试div中发布函数的结果。我使用间隔每5秒重复这个过程。我得到的结果是未定义的,然后json元素的id。
这是我的代码。shortWVCInterval = setInterval(defferedAjax, 5000);
GLB_VAR = "None";
function defferedAjax(){
$.when(checkAjax()).done(function(){
$('#test').append(GLB_VAR.id + " - ");
});
}
function checkAjax(){
var url = "https://jsonplaceholder.typicode.com/posts";
$.ajax({
type: "POST",
url: url,
dataType: 'json',
success: function(data) {
GLB_VAR = data;
}
});
}
https://jsfiddle.net/Lh2q5c4t/如何获得第一个间隔上的Id ?
这里是工作代码:
shortWVCInterval = setInterval(defferedAjax, 5000);
GLB_VAR = "None";
function defferedAjax(){
$.when(checkAjax()).done(function(){
$('#test').append(GLB_VAR.id + " - ");
});
}
function checkAjax(){
return $.ajax({
type: "POST",
url: "https://jsonplaceholder.typicode.com/posts",
dataType: 'json',
success: function(data) {
GLB_VAR = data;
}
});
}
https://jsfiddle.net/Lh2q5c4t/3/编辑:你必须添加"return $。return语句停止函数的执行,并返回该函数的一个值。
相关文章:
- 为什么有些jQuery程序员使用像$.get、$.getJSON和$.when这样的jQuery函数来代替$.ajax
- 使用 jquery.when 和 done 将值从一个 ajax 调用传递到另一个
- $when.apply在Angular AJAX promise实现中的应用
- 使用WHEN和DONE序列化ajax调用
- 嵌套的 AJAX 调用列表和 $.when.apply - 延迟承诺无法正常工作
- jQuery.when 函数,在 ajax 调用完成后无法获取值
- jQuery: $.when 延迟的 AJAX 调用 — 一个失败的调用会取消其他调用
- 为什么我的 jQuery when().then() 函数在 ajax 请求完成之前触发
- 将 ajax promise 与 $.when().done 一起使用
- 使用jQuery.each获取多个ajax,当(jQuery.when)全部完成时,可以做一些事情
- Rails: Ajax for Like button when iterating through status up
- 传递一个函数,该函数使ajax请求在.done时为$.when
- 如何将.when()与包含ajax调用的函数一起使用
- 等待所有异步ajax调用完成,并延迟.when().then(),未调用then()中的任务
- jQuery.when()语句在ajax调用完成之前过早出现
- Jquery ajax when
- JSONP ajax request and jQuery.when()
- 更多的JQuery/Ajax和when/done/promise混淆
- Asynchronous jquery - ajax when().then();
- 将 $.when() / $.promise() 与内置 AJAX 的函数一起使用