通过AJAX请求POST失败?

我不知道为什么会发生这种事。

这是一种转发(提交给stackoverflow,但也许是一个服务器问题?)。

我正在运行一个名为logOut()的JavaScript注销函数,它已经对jQuery ajax调用了一个php脚本。

function logOut(){ var data = new Object; data.log_out = true; $.ajax({ type: 'POST', url: 'http://www.mydomain.com/functions.php', data: data, success: function() { alert('done'); } }); } 

它所调用的php函数在这里:

 if(isset($_POST['log_out'])){ $query = "INSERT INTO `token_manager` (`ip_address`) VALUES('logOutSuccess')"; $connection->runQuery($query); // <-- my own database class... // omitted code that clears session etc... die(); } 

现在,这一天工作18小时,但由于某种原因,每隔一段时间,POST数据将不会触发我的查询。 (这将持续大约一个小时左右)。 我想通过在我的脚本的末尾添加这个数据没有被设置…

 $query = "INSERT INTO `token_manager` (`ip_address`) VALUES('POST FAIL')"; $connection->runQuery($query); 

所以,现在我知道我的注销function正在跳过,因为在我的数据库中是以下数据:

替代文字

如果不被跳过,我的数据会显示如下:

替代文字

我知道它被跳过的原因有两个,一个是我的第一个函数结束时的die(),另外两个是成功的,那么logOutSuccess就会被注册到表中。

有什么想法吗? 有一位朋友说这是一个很棒的托pipe公司(hostgator.com)。 我个人喜欢他们,因为他们很便宜,我是cPanel的粉丝。 但是,如果是这样的话?

提前致谢。

-J

这是唯一的脚本调用functions.php?

尝试loggingprint_r($ _ POST,true)和$ _SERVER ['HTTP_REFERER']的结果,而不是logging“POST FAIL”。 这可能会告诉你失败的电话来自哪里。

首先尝试一个HTTP嗅探器,看看是否有问题或AJAX代码的PHP脚本。 或者它可能是您不知道的客户端条件。 它可能不是你的AJAX代码。 嗅探器将有助于消除是否绝对是客户端问题。