我不能为了我的生活找出为什么会发生这种情况。AJAX发布不发送数据?
这是一种转发,请原谅我,但我有新的数据。
我正在呼吁退出()有做一个jQuery AJAX调用到PHP脚本中的JavaScript注销功能...
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);
所以,现在我知道某些我的注销功能被跳过,因为在我的数据库是下面的数据:
alt text http://img535.imageshack.us/img535/2025/screenshot20100519at125h.png
如果不被跳过它,我的数据会出现这样的:
alt text http://img25.imageshack.us/img25/8104/screenshot20100519at125.png
我知道它被跳过的原因有两个,其中一个是我的第一个函数结束时的die(),另外两个是,如果成功,则会在表中注册“logOutSuccess”。
有什么想法?一位朋友说这是一家非常棒的托管公司(hostgator.com)。我个人喜欢他们,因为他们很便宜,我是cPanel的粉丝。但是,如果是这样的话?
在此先感谢。
-J
你见证过这种情况吗?浏览器类型/版本似乎很重要?有人或事情(蜘蛛/机器人)可能会试图直接去那个PHP页面...这会导致它下降到“POST FAIL”。我知道googlebot有时会进入我的php页面,这些页面仅适用于ajax – Jack 2010-05-19 20:21:43
@jack,这个网站仍处于开发阶段,所以我积极的只是我,因为我是一个试图注销的人!我设置了注销FAIL查询,让我知道为什么我无法首先注销。感谢那些信息,但我一定会尝试阻止蜘蛛访问该页面。 – 2010-05-19 20:27:56
@jack(第2部分)我想起初它只是FireFox ......但它也开始在Safari和IE中发生。 – 2010-05-19 20:28:50