В моем приложении AngularJS отправлю HTTP-запрос GET, как показано ниже.AngularJS HTTP GET запрос, возвращающий кешированные данные
MyService.HttpReq("testUrl", "GET", null);
HttpReq
Метод определяется в службе и реализован, как показано ниже:
this.HttpReq = function(URL, method, payload)
{
$http({
url: URL,
method: method,
cache: false,
data: postData,
headers: {
'Content-Type': 'application/json',
}
}).success(function(response)
{
console.log("Success: "+JSON.stringify(response));
}).error(function(data, status)
{
console.error("Error");
});
}
Прежде всего это правильный способ отправки запроса HTTP в AngularJS?
Проблема, с которой я столкнулся, иногда я получаю кэшированные данные как ответ, а HTTP-запрос не попадает на сервер. что может быть проблемой?
UPDATE
Согласно комментарий и ответ я обновил свой код запроса HTTP, как ниже, но все еще получаю такую же проблему.
this.HttpReq = function(URL, method, payload)
{
$http({
url: URL,
method: method,
cache: false,
data: payload,
headers: {
'Content-Type': 'application/json',
'Cache-Control' : 'no-cache'
}
}).
then(
function(response)
{
var data = response.data;
console.log("Success: "+JSON.stringify(data));
},
function(response)
{
var data = response.data || "Request failed";
var status = response.status;
console.error("Error: "+JSON.stringify(data));
}
);
}
Какой метод вы используете в своем методе HttpReq? ПОЛУЧИТЬ или ПОЧТОВИТЬ ... или оба? –
Я использую как GET, так и POST – User7723337
.success и .error устарели, вместо этого используйте 2 функции обратного вызова. – gyc