Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP意外重定向_Php - Fatal编程技术网

PHP意外重定向

PHP意外重定向,php,Php,我有一个php脚本,通过jQuery的ajax调用调用: $.ajax({ contentType: "application/x-www-form-urlencoded; charset=UTF-8", type: "POST", url: "getFares.php", data: someObjectHere, success: function(data) { handleSuccess(data); }, dataType: "json" });

我有一个php脚本,通过jQuery的ajax调用调用:

$.ajax({
  contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  type: "POST",
  url: "getFares.php",
  data: someObjectHere,
  success: function(data) {
    handleSuccess(data);
  },
  dataType: "json"
});
大多数时候,这个请求工作正常,服务器发送我期望的值

然而,有时服务器只是用303 SEE OTHER响应。在我的php脚本中没有任何地方可以产生这种重定向

不幸的是,当重定向发生时,我无法找到任何类型的模式。看起来只有当我加载页面,然后等待一段时间,然后调用ajax请求时才会发生这种情况,但这可能是巧合

我知道这不是一个非常有用的描述,但不幸的是我被困在这里,所以我希望有人运气好知道如何修复它

下面是几个开发工具的屏幕截图,可以更清楚地说明问题:

在这幅图中,您可以看到我对脚本(getFares.php)提出了几个请求,并突出显示了一个有效的请求。你可以看到状态代码是200,一切正常。

这里我突出显示了一个失败的请求。回复是303请参阅其他。如您所见,请求的其他值均未更改

我所能找到的请求的唯一区别就在这里。对于返回正确结果(状态200)的请求,类型为“xhr”,对于导致重定向的请求,类型为“x-www-form-urlencoded;charset=UTF-8”。我不知道为什么会这样,也不知道从哪里来。


我认为问题可能与错误的服务器/php设置有关,但很难搜索此类错误。

这不是ajax问题,而是服务器本身出于某种原因发送响应

必须检查getFares.php页面中的一些post参数,如果满足,则发送200个响应,否则发送其他响应,如303


您可以查看getFares.php代码了解更多信息。

页面加载时,您的ajax函数似乎正在执行。为什么不把它放在一个函数中呢,如果你在某些活动中需要它,比如onclick或onchnage,等等。它实际上是由我点击的按钮触发的。我也这么认为,但正如我在问题中所说的,php代码中没有任何地方是重定向