有没有办法在这个ajax调用中使用setTimeout。这是我的代码:
jQuery.ajax({
type : "POST",
url : dir+"all/money/myFile.php",
data : "page="+data.replace(/\&/g, '^'),
success : function(msg) {
var info = jQuery('.product_overview #allinfo').html();
var url = '<a href="http://www.mySite.com/openMe/letmeview.php?preview='+msg+'.html" target="_blank" class="check_link_preview" rel="'+msg+'.html">Check Preview</a>'; jQuery('.option_additional').next().find('textarea:first').text(info+url);
},
complete: function() {
jQuery('.add-to-cart button.btn-cart').delay(500).trigger('click');
}
});
我想在触发这个ajax之前做一些事情,这就是为什么我会使用setTimeout或者会延迟这个动作的东西。
我该怎么做?
提前致谢:)
答案 0 :(得分:2)
之前没有使用过jquery和setTimeout但是尝试
var t = window.setTimeout(function, delay);
用你的jquery函数替换上面代码中的函数。
答案 1 :(得分:2)
完整的功能:
complete: function () {
setTimeout(function () {
// your action here
}, 500);
}
答案 2 :(得分:1)
您可以使用beforeSend
,
的 Example 强>
$(function() {
function callBeforeAjax() {
alert('and now do ajax');
}
$.ajax({
beforeSend: callBeforeAjax,
type: "POST",
url: "/",
data: "",
success: function(msg) {},
complete: function(msg) {
alert(msg);
}
});
});
参考this
答案 3 :(得分:1)
@Tols是对的,它有效。尝试这样的事情:setTimeout(function(){jQuery('.add-to-cart button.btn-cart').trigger('click');}, 500);