我正在研究angularjs项目,其中有2个用户管理员和办公室人员。并将数据插入数据库中,我需要使用post方法使用http请求将数据发送到服务器,并且此请求在php的服务器端收到。这是对服务器的简单请求,带有一些参数,并且可以正常工作,直到两个用户都同时单击提交按钮和http请求。即当两个用户同时发出http请求时。如果发生这种情况,则第二个请求不会得到任何响应。现在我的问题是,有没有办法检查服务器是否正在处理一个http请求并发出第二个请求等待。
angularjs:
$http({
method: "post",
url: $localStorage.weburl + "abc.php?f=abc_data",
timeout: 1 * 10 * 2000,
params: {
action: "add"
},
data: {
data1: data1,
data2: data2
}.then(function mySucces(response) {
}, function myError(err) {
$ionicLoading.hide();
alert("Please check the connection");
})
});
PHP:
function abc_data($conn)
{
$_POST = json_decode(file_get_contents('php://input'), true);
}
答案 0 :(得分:0)
您应该这样尝试
var deferred = $q.defer();
$http.post($localStorage.weburl + "abc.php",{action: "add"})
.success(function (data) {
deferred.resolve(data);
})
.error(function (error) {
deferred.reject(error);
});
return deferred.promise;
如果您使用的是post
方法,则将{data:arrayOfdata}
之类的数据而不是url: $localStorage.weburl + "abc.php?f=abc_data"
传递给您