同步等待 $.ajax 调用
Synchronous wait for $.ajax call
我需要一个超链接来执行Ajax调用,完成后,对超链接执行标准操作。
<a href="afterwards.html" target="_blank" onclick="return CallFirst();">Link</a>
javascript 函数调用 $.ajax()
,等待成功或失败,然后返回 true。
function CallFirst()
{
$deferred = $.ajax({
type: "POST",
url: url,
data: data
});
// **todo** WAIT until the Ajax call has responded.
// Return true, which makes the <a> tag do it's standard action
return true;
}
代码必须等待$.ajax
成功,然后从 CallFirst()
返回 true。
$deferred.when()
立即终止。怎么能等呢?
只需将async
属性设置为false
$deferred = $.ajax({
type: "POST",
url: url,
data: data,
async: false
});
但使用回调确实是一个更好的主意。
您可以将 async 设置为 false,但最好使用回调:
.done(function( success) {
if (success) {
doSomeThingElseNow();
}
});
使用 jquery 中的 ajax 回调构建。
$.ajax({
url: '/path/to/file',
type: 'default GET (Other values: POST)',
dataType: 'default: Intelligent Guess (Other values: xml, json, script, or html)',
data: {param1: 'value1'},
})
.done(function() {
console.log("success");
})
.fail(function() {
console.log("error");
})
.always(function() {
console.log("complete");
});
相关文章:
- 阻止在select2单击时调用ajax
- 调用Ajax并返回响应
- Ajax:只在元素存在的情况下调用Ajax
- PHP,MySQL,AJAX-调用AJAX结果后,Bootstrap CSS样式不会显示
- 调用Ajax内部的函数
- 无法获取属性'的值;拆分'在IE8中调用ajax之后
- 我们如何在Firefox中调用AJAX
- Rails:通过调用Ajax重定向
- Cookie 在 Spotify (Javascript) 中调用 ajax 后未保存
- 通过调用 Ajax 来设置 struts bean 值
- 无法从服务器中的 php 调用 Ajax 函数
- 如何在附加表行时调用 ajax
- 在facebook用户发送邀请请求后调用ajax调用
- 定期调用Ajax
- 调用Ajax生成的表单的值
- 无法调用ajax函数
- 在调用AJAX之后显示ng控制器的内容;作为“;作用
- CSS,Java脚本在php中调用ajax后无法正常工作
- 成功调用AJAX后,Toast Growl不会出现
- 如何在调用AJAX时记录或捕获信息和错误