在angularJS中将ajax数据从1个控件共享给另一个控件

礼萨

我在lim中使用REST API学习Angular JS im,该api返回JSON数据对象。我有一个搜索控制器,其中有一个Submitform方法,它可以获取数据。但是现在我有了另一个也需要此数据的控制器。现在,我已经阅读了有关此内容,发现可以使用工厂服务来代替,但是由于某种原因,我会收到此错误消息:

TypeError: undefined is not a function
    at http://localhost/c2dmobile/js/main.js:72:23
    at https://code.angularjs.org/angular-1.0.0.min.js:8624:11
    at wrappedCallback (https://code.angularjs.org/angular-1.0.0.min.js:6585:59)
    at https://code.angularjs.org/angular-1.0.0.min.js:6622:26
    at Object.Scope.$eval (https://code.angularjs.org/angular-1.0.0.min.js:7769:28)
    at Object.Scope.$digest (https://code.angularjs.org/angular-1.0.0.min.js:7641:25)
    at Object.Scope.$apply (https://code.angularjs.org/angular-1.0.0.min.js:7855:24)
    at done (https://code.angularjs.org/angular-1.0.0.min.js:8844:20)
    at completeRequest (https://code.angularjs.org/angular-1.0.0.min.js:8984:7)
    at XMLHttpRequest.xhr.onreadystatechange (https://code.angularjs.org/angular-1.0.0.min.js:8954:11) angular-1.0.0.min.js:5525
(anonymous function) angular-1.0.0.min.js:5525
(anonymous function) angular-1.0.0.min.js:4659
wrappedCallback angular-1.0.0.min.js:6587
(anonymous function) angular-1.0.0.min.js:6622
Scope.$eval angular-1.0.0.min.js:7769
Scope.$digest angular-1.0.0.min.js:7641
Scope.$apply angular-1.0.0.min.js:7855
done angular-1.0.0.min.js:8844
completeRequest angular-1.0.0.min.js:8984
xhr.onreadystatechange

这是代码:

  //SHARE DATA BETWEEN CONTROLLERS
  c2dApp.factory("ShareData", function() {

    return {
      //ZipCode: function() {return ZipCode;},
      resList: function() {return ResList;}
    };

  });

  //CONTROLLERS: SEARCHLIST
  c2dApp.controller('SearchResultController', function($scope, ShareData) {
    //NEEDS THE RESTULT FROM SEARCH
  });

  //CONTROLLERS: SEARCH
  c2dApp.controller("SeachController", function($scope, $http, ShareData) {
    $scope.message = 'dit is search';
    $scope.myData = {};
    $scope.myData.haveZip = false;

    $scope.searchForm = {};
    $scope.searchForm.zipCode = "";

    $scope.searchForm.getFormFieldCssClass = function(ngModelController) {
        //console.log("getting css class: " + ngModelController.$valid) ;
        if(ngModelController.$pristine) return "";
        return ngModelController.$valid ? "fieldValid" : "fieldInvalid";
    };

    $scope.submitForm = function() {
        //console.log("--> Submitting form");
        $http({

          url: "http://localhost/c2dapi/search",
          data: $scope.searchForm,
          method: 'POST',
          headers : {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'}

        }).success(function(data){
          //console.log("OK", data);
          if (angular.equals(data[0], 'no_location_found')) {
            console.log('geen lokatie gevonden');
          }

          if (angular.equals(data[0], 'restaurants_found')) {
            console.log('restaurant lijst');
            console.log(data);
            ShareData.ResList() = data;  // <------ REturns ERROR
          }
        }).error(function(err){"ERR", console.log(err)});
    };
  });

//更新cshion遮篷部分工作

ShareData.ResList()=数据;

returns the error ReferenceError: Invalid left-hand side in assignment

所以我把它改成了 ShareData.ResList = data;

现在当我打电话时找到了json对象 ShareData.ResList

但这只是在发布之后,我想这样

如果(ShareData.ResList){}

问题是,ShareData.ResList永远不会“未定义”,而是返回:

function () {
        return ResList;
      } 

什么时候不设置?我希望它返回false。

sh

您可以在Service或Factory的控制器,指令等之间共享数据。使用工厂:

c2dApp.factory("ShareData", function() {
 var ResList;
 return {
   resList: function() {return ResList;}
 };

});

在您的控制器中:

ShareData.resList() = data

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

VB.NET 确定一个控件是否与另一个控件共享空间

来自分类Dev

如何从另一个控件调用另一个控件的LostFocus事件

来自分类Dev

另一个项目控件/数据模板中的项目控件和项目模板

来自分类Dev

将数据发送到另一个用户控件内的用户控件

来自分类Dev

如何将数据绑定从一个控件复制到另一个控件?

来自分类Dev

将一个控件放在另一个控件中

来自分类Dev

检查一个控件是否正在“触摸”另一个控件

来自分类Dev

是否可以在另一个用户控件上看到一个用户控件?

来自分类Dev

创建一个使用另一个用户控件的用户控件

来自分类Dev

在XAML中将另一个控件作为属性值传递

来自分类Dev

如何在WPF中将值从一个用户控件传递到另一个。

来自分类Dev

如何在WPF中将对象从一个窗口绑定到另一个窗口中的另一个控件?(C#)

来自分类Dev

如何访问另一个控件的viewModel

来自分类Dev

在另一个控件上显示错误验证

来自分类Dev

使用样式更改另一个控件的设计

来自分类Dev

如何与另一个类的Form控件通信?

来自分类Dev

从另一个线程访问UI控件

来自分类Dev

绑定到另一个用户控件

来自分类Dev

使用样式更改另一个控件的设计

来自分类Dev

重定向到另一个控件DNN

来自分类Dev

从另一个类更新 UI 控件

来自分类Dev

我如何使用mvvm将数据从用户控件传递到另一个用户控件

来自分类Dev

在切换到另一个控件之前,如何将数据保存在用户控件上?

来自分类Dev

asp.net在向导步骤中将一个控件中的值用作后续步骤中另一个控件的值

来自分类Dev

从在另一个应用程序中运行的FarPoint Spread控件获取数据

来自分类Dev

获取WPF控件以触发和设置另一个控件的itemssource

来自分类Dev

如何为更改另一个控件的宽度的控件编写样式?

来自分类Dev

如何将控件的属性绑定到另一个控件的属性

来自分类Dev

如何获得另一个控件下面的控件?

Related 相关文章

  1. 1

    VB.NET 确定一个控件是否与另一个控件共享空间

  2. 2

    如何从另一个控件调用另一个控件的LostFocus事件

  3. 3

    另一个项目控件/数据模板中的项目控件和项目模板

  4. 4

    将数据发送到另一个用户控件内的用户控件

  5. 5

    如何将数据绑定从一个控件复制到另一个控件?

  6. 6

    将一个控件放在另一个控件中

  7. 7

    检查一个控件是否正在“触摸”另一个控件

  8. 8

    是否可以在另一个用户控件上看到一个用户控件?

  9. 9

    创建一个使用另一个用户控件的用户控件

  10. 10

    在XAML中将另一个控件作为属性值传递

  11. 11

    如何在WPF中将值从一个用户控件传递到另一个。

  12. 12

    如何在WPF中将对象从一个窗口绑定到另一个窗口中的另一个控件?(C#)

  13. 13

    如何访问另一个控件的viewModel

  14. 14

    在另一个控件上显示错误验证

  15. 15

    使用样式更改另一个控件的设计

  16. 16

    如何与另一个类的Form控件通信?

  17. 17

    从另一个线程访问UI控件

  18. 18

    绑定到另一个用户控件

  19. 19

    使用样式更改另一个控件的设计

  20. 20

    重定向到另一个控件DNN

  21. 21

    从另一个类更新 UI 控件

  22. 22

    我如何使用mvvm将数据从用户控件传递到另一个用户控件

  23. 23

    在切换到另一个控件之前,如何将数据保存在用户控件上?

  24. 24

    asp.net在向导步骤中将一个控件中的值用作后续步骤中另一个控件的值

  25. 25

    从在另一个应用程序中运行的FarPoint Spread控件获取数据

  26. 26

    获取WPF控件以触发和设置另一个控件的itemssource

  27. 27

    如何为更改另一个控件的宽度的控件编写样式?

  28. 28

    如何将控件的属性绑定到另一个控件的属性

  29. 29

    如何获得另一个控件下面的控件?

热门标签

归档