【问题标题】:http.get request not executinghttp.get 请求未执行
【发布时间】:2013-10-06 03:49:49
【问题描述】:

在过去的几个小时里,我一直在试图找出这个问题,但在我的一生中,我无法弄清楚出了什么问题。

我已经将调试工具与 netbeans 和 chrome dev-tools 一起使用,并且两者似乎都只是跳过它而没有尝试执行它,因为我既没有得到错误也没有成功,事实上我什至没有得到已发送 xHR 请求以收集文件。

工厂:

.factory('Stories', function($http) {
    var factory = {};
    var stories = [];
    factory.status;


    $http.get('../json/stories.json')
    .success(function(data,status){
        stories = data;
        factory.status = status;
    })
    .error(function(data,status){
        stories = data || "request faild";
        factory.status = status;
    });

    factory.getStory = function() {

        return stories;
    };
})

这只是应用程序的一部分,但包含在内,因此我认为您不需要其余部分。如果有人能告诉我我做错了什么,那就太好了。提前谢谢。

【问题讨论】:

  • success 和 error 都没有执行?
  • 是的,注入http函数很奇怪,发现什么也没发生
  • 我假设您的实际代码没有被最小化,但如果是,也许格式 .factory('Stories', ['$http', function($http) { ...]会有所帮助
  • 不似乎没有帮助,谢谢
  • 您是否真的在任何地方注入您的Stories 服务? Angular 中的服务是延迟实例化的,也就是说,只有在实际请求它们时才实例化。

标签: javascript http angularjs get


【解决方案1】:

修复它

供参考,以防其他人遇到类似问题。

先检查:

  1. 检查显示变量匹配的工厂的内容
  2. 确保 $http 被注入到参数中
  3. 为要注入的每个参数设置别名

这是我的最终解决方案:

.factory('Stories', ['$http', function($http) {

    var factory = {};
    var stories = null;

    stories = $http.get('./json/stories.json')
    .success(function(data){
        stories = data;

    });    
    factory.getStory = function() {      
        return stories;
    };  
    return factory;
}]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    • 2017-02-17
    • 1970-01-01
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多