我一直在与一个问题作斗争很长时间,并且希望获得一些外部输入,以了解导致POST调用不一致失败的原因。
我有一个使用AngularJS 1.4.8的Web仪表板,它向各种PHP脚本发送POST调用以更新MySQL数据库。
我遇到的问题是,成功并不总是那么成功,有时我不得不再次触发POST,然后它才能起作用
有时它会第一次工作..有时它可能需要2次尝试。我尝试使用.error(再次调用该函数,但这可能会导致循环
这是POST呼叫的示例
$http({
method: 'POST',
url: $scope.URL+"SIVisitor.php",
data: {
"Value1": $scope.NewVisitorFirstname,
"Value2": $scope.NewVisitorSurname,
"Value3": $scope.NewVisitorEmail,
"Value4": $scope.NewVisitorValue4,
"Value5": $scope.NewVisitorValue5,
"Value6": $scope.NewVisitorValue6
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}).success(function(response) {
// DO STUFF HERE
});
然后我在如下所示的PHP文件中接收信息:
<?php
if($_SERVER["HTTPS"] == "on")
{
$data = json_decode(file_get_contents('php://input'), TRUE);
$Value1 = $data["Value1"];
$Value2 = $data["Value2"];
$Value3 = $data["Value3"];
$Value4 = $data["Value4"];
$Value5 = $data["Value5"];
$Value6 = $data["Value6"];
// ENTER INTO THE DATABASE
}
else {
}
?>
如果它不起作用,则会立即出错。 GET请求的效果似乎要好得多,但我无法使用它们发送大量表单数据
其他可能有用的东西:
Web服务器基于Linux,使用Apache
PHP 7.2 FastCGI(尽管在5.6上发生了相同的问题)