AngularJS:$HTTP.GET被取消
我试图使用angularJS的$http服务,但它似乎不起作用。我在网上读到过这样一个问题,但给出的解决方案没有帮助。我的控制器中有以下各项:AngularJS:$HTTP.GET被取消,angularjs,http-headers,Angularjs,Http Headers,我试图使用angularJS的$http服务,但它似乎不起作用。我在网上读到过这样一个问题,但给出的解决方案没有帮助。我的控制器中有以下各项: app.controller('Ctrl', function($scope, $http){ var url = http://someurl?name=foo; $scope.submitRules = function(){ $http({method: 'GET', url: url}).
app.controller('Ctrl', function($scope, $http){
var url = http://someurl?name=foo;
$scope.submitRules = function(){
$http({method: 'GET', url: url}).
success(function(data, status) {
$scope.status = status;
$scope.data = data;
}).
error(function(data, status) {
$scope.data = data || "Request failed";
$scope.status = status;
});
};
});
我正在使用这个版本的angularJS
每当我尝试发送请求时,它都会显示请求状态为“已取消”。我发送请求的URL运行得很好,只是在angularJS中不起作用。
有人能帮忙吗?我觉得所有这些CORS的东西都让人困惑。但是我能说什么呢?我学东西很慢。您描述的问题可能可以从控制器上解决,但我认为最好是在进入点进行设置。例如:
angular.module('myApp', ['ngResource', 'ui.bootstrap']).
config(function($httpProvider) {
// Enable CORS
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
...
});
根据您提供的代码,这也可能有效(未经测试):
无论哪种方式,所有的魔法都发生在这两条线上:
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
如果不是CORS,您可以使用chromium和CORS扩展进行检查,请尝试设置请求的超时:
app.controller('Ctrl', function($scope, $http){
var url = http://someurl?name=foo;
$scope.submitRules = function(){
$http({
method: 'GET',
url: url,
timeout: 50000
}).
success(function(data, status) {
$scope.status = status;
$scope.data = data;
}).
error(function(data, status) {
$scope.data = data || "Request failed";
$scope.status = status;
});
};
});
设置$httpProvider从未对我起作用,这是服务器问题。这太模糊了,无法理解。。。你能举个例子吗?我正在尝试向我的服务器发送一些数据,并希望将其存储在mysql数据库中。数据被添加到URL,并作为http get请求发送。但是当我检查chrome中的开发者控制台时。我发现请求没有通过并被取消。这可能有很多原因,不幸的是,你确定问题不在于你的服务吗?是的。。直接从浏览器使用Url时,效果良好。当我使用jsonp方法时,它工作得很好。它看起来像CORS。。有解决办法吗?
app.controller('Ctrl', function($scope, $http){
var url = http://someurl?name=foo;
$scope.submitRules = function(){
$http({
method: 'GET',
url: url,
timeout: 50000
}).
success(function(data, status) {
$scope.status = status;
$scope.data = data;
}).
error(function(data, status) {
$scope.data = data || "Request failed";
$scope.status = status;
});
};
});