对PHP脚本的Ajax调用在两次刷新后返回状态0


Ajax call to PHP script returning status 0 after double refresh

我有一个简单的表单,它使用JQuery AJAX调用PHP脚本并执行一些工作。这段代码正常工作了2年多,然后突然停止工作-并且有一些奇怪的行为,我有调试困难。

下面是HTML代码:

  <div class="form-group">
    <label for="commenter-name" class="col-sm-3">Name</label>
    <div class="col-sm-9">
      <input type="text" class="form-control" name="commenter-name" id="commenter-name" placeholder="Enter Name" value="" >
    </div>
  </div>
  <div class="form-group">
    <label for="commenter-comment" class="col-sm-3">Comment</label>
    <div class="col-sm-9">
      <textarea class="form-control" rows="3" name="commenter-comment" id="commenter-comment" placeholder="Enter Comment"></textarea>
    </div>
  </div>
  <div class="clear"></div>
  <div class="form-group custom-form">
    <div class="col-sm-3"></div>
    <div class="col-sm-9">
      <input id="submit-comment" type="button" class="btn btn-success" value="Submit">
    </div>
  </div>
下面是JS代码(使用JQuery 1.8.3):
$("#submit-comment").click(function(event) {
      $.ajax({
        type: "POST",
          url: "_code/ProcessPoll.php",
          data: { comment : comment,  name : name, commenter_position : commenter_position }
      })
});

下面是PHP代码:

if ($_POST["comment"])
{
        //log results of the poll
        $log = new PollsLogging($_POST["name"], $_POST["comment"], "comment", "comment", $_POST["commenter_position"]);
        $log->WriteToFile();
}

这段代码有效地工作了两年多,现在是这样的行为:

  1. 在文本框字段中输入信息并点击提交按钮
  2. 点击事件被触发,然后进行JQuery AJAX调用,但不会返回完成,成功或失败(我在使用调试器)Chrome)
  3. 然后我刷新页面,我从AJAX的错误中得到0的状态(我没有在这里调试,但我只是使用。错误:function(jqXHR, textStatus, errorThrown) {alert(jqXHR.status)}

是否所有主要浏览器的不同版本都发生了变化,导致这个停止工作?我是不是明显错过了什么?我读到一些关于AJAX调用可能永远不会完成的事情,但我不确定如何处理……特别是因为我没有对这个做任何代码更改…我还有其他一些类似的小程序,它们也停止了工作,并且以类似的方式运行!

很抱歉我不能评论,因为我的名声不好,所以我把这个作为一个答案。

事实上,我们不可能给你一个答案,因为我们缺乏信息。我看不出你写的代码有什么问题。

你说的是一种奇怪的行为,你能描述一下吗?您是否尝试过使用Firebug之类的工具来监视您的请求头?