Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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 Chrome未向服务器提交POST请求_Php_Html_Forms_Post - Fatal编程技术网

Php Chrome未向服务器提交POST请求

Php Chrome未向服务器提交POST请求,php,html,forms,post,Php,Html,Forms,Post,Chrome没有向我的公司提交我们内部使用的各种PHP应用程序的POST/GET表单请求,这让我遇到了麻烦。这似乎是从Chrome 76开始的。Firefox或IE没有出现这个问题,这很奇怪 提交表单时预期的行为是在Dev网络控制台中查看请求,同时等待服务器的响应。但在Chrome中,请求从未在网络控制台中发送或显示。选项卡中的Chrome进度轮始终逆时针旋转 我已经检查了服务器上的Apache请求日志,但它从未收到发送给它的请求,所以我认为它是客户端的东西,即Chrome 如果我尝试使用Pos

Chrome没有向我的公司提交我们内部使用的各种PHP应用程序的POST/GET表单请求,这让我遇到了麻烦。这似乎是从Chrome 76开始的。Firefox或IE没有出现这个问题,这很奇怪

提交表单时预期的行为是在Dev网络控制台中查看请求,同时等待服务器的响应。但在Chrome中,请求从未在网络控制台中发送或显示。选项卡中的Chrome进度轮始终逆时针旋转

我已经检查了服务器上的Apache请求日志,但它从未收到发送给它的请求,所以我认为它是客户端的东西,即Chrome

如果我尝试使用Postman手动提交表单,那么它将工作并发送预期的响应

我曾尝试使用JavaScript提交表单,但我看到了相同的行为。我尝试过改变表单的类型以及调整meta标记头,但没有改变

标题

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="csrf-token" content="xxxx">

形式


用户名
密码
记得我吗
登录

有没有更好的方法在客户端调试表单提交?Chrome是否在发送HTTP请求之前进行了一些检查,而其他浏览器没有这样做,并且失败了?有没有办法完全重新加载/重置Chrome,以防设置错误?隐姓埋名模式应该在没有任何扩展的情况下加载,并且它的行为相同,因此我不认为它是导致问题的恶意扩展。

您的php服务器中您的头文件上添加以下行

 header('Access-Control-Allow-Origin: *'); 
应该在您希望接收post请求的所有页面中

    header('Access-Control-Allow-Origin: *'); 
    header("Access-Control-Allow-Credentials: true");
    header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
    header('Access-Control-Max-Age: 1000');
    header('Access-Control-Allow-Headers: Content-Type, Content-Range, Content-Disposition, Content-Description');
当您从本地服务器向远程服务器发送post数据时,您需要在远程服务器上启用CORS-跨源资源共享


此代码应该适用于大多数情况,测试并告诉我它是否已解决。

您的php服务器中您的头文件中添加以下行

 header('Access-Control-Allow-Origin: *'); 
应该在您希望接收post请求的所有页面中

    header('Access-Control-Allow-Origin: *'); 
    header("Access-Control-Allow-Credentials: true");
    header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
    header('Access-Control-Max-Age: 1000');
    header('Access-Control-Allow-Headers: Content-Type, Content-Range, Content-Disposition, Content-Description');
当您从本地服务器向远程服务器发送post数据时,您需要在远程服务器上启用CORS-跨源资源共享


这段代码应该适用于大多数情况,测试并告诉我问题是否解决。

设置这些标题并在Apache中添加mod_headers CORS config设置,但仍然没有使用
method=“GET”进行更改
可能是post方法的chrome问题。您还可以检查控制台并告诉我它向您显示了什么吗?GET方法也不起作用。当试图通过JavaScript提交表单时,我正在打印到控制台,我看到$('#loginForm').submit()前后的print语句;但是请求从未被发送。没有打印错误我想是的。我已经更新到76.0.3809.132版(64位),问题已经解决了设置这些标题并在Apache中添加了mod_headers CORS config设置,但仍然没有使用
method=“GET”
进行更改,可能是post方法的chrome问题。您还可以检查控制台并告诉我它向您显示了什么吗?GET方法也不起作用。当试图通过JavaScript提交表单时,我正在打印到控制台,我看到$('#loginForm').submit()前后的print语句;但是请求从未被发送。没有打印错误我想是的。我更新到76.0.3809.132版(64位),问题已经解决