javascript - 如何消除 Angular JS 中的 404 错误?

标签 javascript angularjs angularjs-directive ionic-framework

.factory('ChartService', ['$http','$q',
        function ChartService($http,$q) {
            // interface

            // implementation
            var canceler = $q.defer();

            function getTableData() {

                return  $http.post('http://202.429.115.52:9906/oo/api.php?request=getSubfunctionWiseHCAndSW').success(function (data) {
                    if (data.mm == "No Data Available"){
                        localData();
                    }
                    return data;


                }).error(function(error){
                    alert("error")
                   canceler.resolve();
                    localData()
                  //  console.log(error)
                });



                }

            function localData(){
                        alert("loaddata")
               return  $http.get('vro/hcswc.json').success(function(response){
                    console.log(response+"==");
                    return response;
                }).error(function(error){
                    console.log(error);
                });
            }




            return {
                getTableData:getTableData
            }
        }
    ]);

错误 XMLHttpRequest 无法加载 http://192.127.215.52:9906/api.php?request=getSubfunctionrection 。请求的资源上不存在“Access-Control-Allow-Origin” header 。来源'http://localhost:63342 ' 因此不允许访问。响应的 HTTP 状态代码为 404。

App.js//解析代码

.state('app.vro', {
        url: "/vro/:isfirstActiveState",
        views: {
          'menuContent': {
            controller: "vrobCtrl",
            templateUrl: 'vrob/vrob.html'


            }
        }  ,
          resolve: {
              tableData:function(ChartService){

                  return ChartService.getTableData();
              }



          }
      })

你好 我正在尝试获取数据表单服务。我在调用 webservice 时有一个条件。条件是如果我收到错误,那么我会收到来自本地的请求,换句话说,如果我从服务器收到任何错误,那么我需要从本地读取 json 文件。我需要使用解析并调用我的服务并在 Controller 上使用该数据。我的 localData 没有返回数据来解析。我的代码中有什么问题..

这是一个例子 http://plnkr.co/edit/0y9V0m2hmsUBRXoeyjig?p=preview 我得到的错误是正确的,但它应该从本地 json 加载数据。为什么它不从本地 json 加载数据

最佳答案

使用 $q 管理 $http 请求是一种反模式,但在这种情况下我不知道其他方法:

function getTableData() {

  var deferred = $q.defer();

  $http.post('http://202.129.215.52:9906/mondelez/api.php?request=getSubfunctionWiseHCAndSW')
    .then(
      // resolve callback
      function(data) {
        deferred.resolve(data.data)
        return data.data;
      },
      // reject callback make different request
      function(err) {
        $http.get('data.json').success(function(response) {
          deferred.resolve(response);              
        }).error(function(error) {
          deferred.reject()
        });

      })

  return deferred.promise;

}

DEMO

关于javascript - 如何消除 Angular JS 中的 404 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32809664/

相关文章:

angularjs - 将 HighStocks 与 highcharts-ng 结合使用

javascript - 什么是最快的纯 Javascript 图形可视化工具包?

javascript - 验证用户输入以防止重复 ID

javascript - Ace 编辑器在更新宽度之前错误地设置了它的高度 (Chrome)

javascript - 如何修复括号与点符号 Angularjs

javascript - 找不到 AngularJS 指令外部模板

javascript - jquery 不显示隐藏元素

javascript - 如果他们接受对话框,On​​BeforeUnload 可以运行代码吗?

angularjs - 本质上是工厂/服务

javascript - 通过过滤器查找对象中的项目