我正在向服务器发送ajax请求
$.ajax({
type: "POST",
data: checkin_push,
url: api_url + 'file.php?token=' + last_token + '&date=' + dated,
dataType: "json",
timeout: 100000, // 100 seconds
success: function(data) {
// invoke sync
api_pending_sync = true;
// checkin back to home
$.mobile.changePage('#home', { reverse: true });
//api_sync_message
$('#sync-message').fadeIn(300).html('<div class="ui-body ui-body-e ui-corner-all" style="margin-bottom: 20px;" data-theme="d">Successfully checked in for ' + checkin_display_date() + '.</div>').fadeOut(5000);
},
complete: function(jqXHR, textStatus) {
$.mobile.hidePageLoadingMsg();
},
error: function() {
$('#checkin-status-message').fadeIn(300).html('<div class="ui-body ui-body-e ui-corner-all" style="margin-bottom: 20px; color: red;" data-theme="d">Unable to Check In, Please check your internet connection and try again.</div>').fadeOut(5000);
}
});
这是file.php的相关代码
=========rest code -=================
#------------------- send alert to life lines (send alerts) -------------------
$query = query("SELECT email, phone, sms_carrier FROM table WHERE account_id = ".escape($account_id));
if ((mysqli_num_rows($query) > 0) and $send_alert)
{
while ($l = mysqli_fetch_assoc($lifelines))
{
// send mail
/* this function is returning value of mail() function*/
send_alert_email($userEmail, $sms_email, 'alert-2');
}
}
#-------------------------------(/alerts)--------------------------------------
$return = array('answers' => $answers); //, 'transact' => $checkin_transact);
}
json_out($return);
?>
现在究竟发生了什么......如果控制进入,而循环和电子邮件正在发送,则firebug显示状态为“已中止”,否则它工作正常... 我做错了什么..
提前致谢
答案 0 :(得分:1)
可以替换以下行:
error: function() {
以下内容:
error: function(jqXHR, textStatus, errorThrown){
并检查textStatus
和errorThrown
的值,以查看请求中止时的错误。
希望这有帮助。
答案 1 :(得分:0)
$.ajax({
type: "POST",
data: checkin_push,
url: api_url + 'file.php?token=' + last_token + '&date=' + dated,
...
您正在发送GET和&amp; POST参数。所以,只是想确保您没有获得null
任何参数。
在file.php中,
确保将token
和date
值设为$_GET
&安培; checkin_push
已将参数值发送为$_POST
或
将所有已发送的参数值设为$_REQUEST