PHP意外重定向
我有一个php脚本,通过jQuery的ajax调用调用: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" });
$.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代码中没有任何地方是重定向