[英]JQuery - Bypass AJAX response once request is sent
我使用以下方式,请求PHP页面向许多用户发送邮件。 我根本不需要回应。 我想要的只是调用函数,然后开始在JS中做我的事情。
$.ajax({
type : 'POST',
url : 'mail_users.php',
data : formData,
dataType: 'JSON',
encode : true
})
.done(function(data) {
console.log(data);
})
.fail(function() {
console.log("ERROR");
});
我也只想确保请求正确完成。 我尝试了很多SO的建议,例如JS中的setTimeout()和ignore_user_abort(true)
, set_time_limit(0)
。
但是对我没有用,这是否有合适的摘录? 我该如何实现? 提前致谢。
试图帮助。 我写了一个代码,对URL进行AJAX调用。 它包含回调函数,但是您可以忽略(因为您不想检查结果)。 请尝试使用此代码更改目标URL。
结果
Tue Jun 21 2016 15:46:30 GMT-0300 (BRT) Req sent {"email_id":"1","key":"abc"}
Tue Jun 21 2016 15:46:30 GMT-0300 (BRT) Success
Tue Jun 21 2016 15:46:30 GMT-0300 (BRT) Complete {"readyState":4,"responseText":"\n\t\n\t\t\n\t\t\n\t\n\t\n\t\tResult:\n\t\t
\n\t\n","status":200,"statusText":"OK"}
码
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
function log(msg) {
var dateMsg = (new Date()) + ' ' + msg;
var $res = $('#result');
var $o = $('<li>').html(dateMsg);
$res.append($o);
}
function checkEmailFrontEnd(email_id, key) {
var userdata = {
email_id: email_id,
key: key
};
var opts = {
url: 'html.html',
type: 'POST',
data: userdata,
success: function(data, textStatus, jqXHR){
log('Success');
},
error: function(jqXHR, textStatus, error){
log('Error ' + error);
},
complete: function(jqXHR, textStatus){
log('Complete ' + JSON.stringify(jqXHR));
}
};
$.ajax(opts);
log('Req sent ' + JSON.stringify(userdata));
}
$(function(){
checkEmailFrontEnd('1', 'abc');
});
</script>
</head>
<body>
Result:
<ul id='result'></ul>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.