Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从Angular js API调用Node.js Web API?_Javascript_Json_Angularjs_Node.js - Fatal编程技术网

Javascript 如何从Angular js API调用Node.js Web API?

Javascript 如何从Angular js API调用Node.js Web API?,javascript,json,angularjs,node.js,Javascript,Json,Angularjs,Node.js,我想将整个HTML转换为JADE,但是((record.name}})不起作用。因此无法获取和打印值。我在这里发布完整的文件 这是我的目录视图: 这是我的JSON文件(customerList.JSON): 这是我的视图(index.html) 这是我的服务(dataService.js): 我必须将index.html转换为index.jade,并且这应该是一个带有Express.js的Node.js API。但是我已经使用Angular.js完成了。请帮助 我发现以下错误: GET htt

我想将整个HTML转换为JADE,但是((record.name}})不起作用。因此无法获取和打印值。我在这里发布完整的文件

这是我的目录视图:

这是我的JSON文件(customerList.JSON):

这是我的视图(index.html)

这是我的服务(dataService.js):

我必须将index.html转换为index.jade,并且这应该是一个带有Express.js的Node.js API。但是我已经使用Angular.js完成了。请帮助

我发现以下错误:

GET http://localhost:3000/js/customerController.js 
localhost/:1 GET http://localhost:3000/js/dataService.js 
localhost/:1 GET http://localhost:3000/json/customerList.json 
angular.js:68 Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to:
Error: [$injector:nomod] Module 'app' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.4.0-beta.5/$injector/nomod?p0=app
    at REGEX_STRING_REGEXP (https://code.angularjs.org/1.4.0-beta.5/angular.js:68:12)
    at https://code.angularjs.org/1.4.0-beta.5/angular.js:1841:17
    at ensure (https://code.angularjs.org/1.4.0-beta.5/angular.js:1765:38)
    at module (https://code.angularjs.org/1.4.0-beta.5/angular.js:1839:14)
    at https://code.angularjs.org/1.4.0-beta.5/angular.js:4172:22
    at forEach (https://code.angularjs.org/1.4.0-beta.5/angular.js:328:20)
    at loadModules (https://code.angularjs.org/1.4.0-beta.5/angular.js:4156:5)
    at createInjector (https://code.angularjs.org/1.4.0-beta.5/angular.js:4082:11)
    at doBootstrap (https://code.angularjs.org/1.4.0-beta.5/angular.js:1514:20)
    at bootstrap (https://code.angularjs.org/1.4.0-beta.5/angular.js:1535:12)
http://errors.angularjs.org/1.4.0-beta.5/$injector/modulerr?p0=app&p1=Error…0(https%3A%2F%2Fcode.angularjs.org%2F1.4.0-beta.5%2Fangular.js%3A1535%3A12)REGEX_STRING_REGEXP @ angular.js:68(anonymous function) @ angular.js:4195forEach @ angular.js:328loadModules @ angular.js:4156createInjector @ angular.js:4082doBootstrap @ angular.js:1514bootstrap @ angular.js:1535angularInit @ angular.js:1429(anonymous function) @ angular.js:27245n.Callbacks.j @ jquery-2.1.4.min.js:2n.Callbacks.k.fireWith @ jquery-2.1.4.min.js:2n.extend.ready @ jquery-2.1.4.min.js:2I @ jquery-2.1.4.min.js:2

不太确定节点服务器是如何设置的,但我这里有一个小的工作示例,您可以将其集成到代码中:

服务器(Server.js):

路由(Routes.js):

逻辑(test.js):

在您的package.json中,我假设您有:

  "dependencies": {
    "body-parser": "^1.13.2",
    "express": "^4.13.1",
    "morgan": "^1.6.1"
  },
虽然您不需要morgan来完成这项工作,但是能够看到您的http请求通过控制台进行测试还是很好的

此解决方案还假设您在根目录中拥有所有内容,并将JSON保存在名为“data.JSON”的文件中,因此根据需要调整文件夹结构和命名。这样,您只需向
http://localhost:5001/test
您将收到您的JSON数据

更新:

下面是一些额外的角度代码:

首先,我建议对代码进行一些重组/重构。将应用程序与控制器分开声明。我建议使用三个文件:模块(app.js)、控制器(customerController.js)和服务(dataService.js)

模块(app.js):

控制器(customerController.js):

服务(dataService.js):

按以下顺序包括这些文件:

<script src="/js/app.js"></script>
<script src="/js/customerController.js"></script>
<script src="/js/dataService.json"></script>


另外,不要将脚本文件包含在头部标记中,而是将它们包含在身体的最底部。如果将它们包含在头部,则它们将阻止页面呈现,直到它们完全加载。

不太确定节点服务器的设置方式,但我这里有一个小的工作示例,您可以将其集成到您的页面中r代码:

服务器(Server.js):

路由(Routes.js):

逻辑(test.js):

在您的package.json中,我假设您有:

  "dependencies": {
    "body-parser": "^1.13.2",
    "express": "^4.13.1",
    "morgan": "^1.6.1"
  },
虽然您不需要morgan来完成这项工作,但是能够看到您的http请求通过控制台进行测试还是很好的

此解决方案还假设您在根目录中拥有所有内容,并将JSON保存在名为“data.JSON”的文件中,因此根据需要调整文件夹结构和命名。这样,您只需向
http://localhost:5001/test
您将收到您的JSON数据

更新:

下面是一些额外的角度代码:

首先,我建议对代码进行一些重组/重构。将应用程序与控制器分开声明。我建议使用三个文件:模块(app.js)、控制器(customerController.js)和服务(dataService.js)

模块(app.js):

控制器(customerController.js):

服务(dataService.js):

按以下顺序包括这些文件:

<script src="/js/app.js"></script>
<script src="/js/customerController.js"></script>
<script src="/js/dataService.json"></script>


另外,不要将脚本文件包含在头部标记中,而是将它们包含在身体的最底部。如果将它们包含在头部,则它们将阻止页面呈现,直到它们完全加载。

不太确定节点服务器的设置方式,但我这里有一个小的工作示例,您可以将其集成到您的页面中r代码:

服务器(Server.js):

路由(Routes.js):

逻辑(test.js):

在您的package.json中,我假设您有:

  "dependencies": {
    "body-parser": "^1.13.2",
    "express": "^4.13.1",
    "morgan": "^1.6.1"
  },
虽然您不需要morgan来完成这项工作,但是能够看到您的http请求通过控制台进行测试还是很好的

此解决方案还假设您在根目录中拥有所有内容,并将JSON保存在名为“data.JSON”的文件中,因此根据需要调整文件夹结构和命名。这样,您只需向
http://localhost:5001/test
您将收到您的JSON数据

更新:

下面是一些额外的角度代码:

首先,我建议对代码进行一些重组/重构。将应用程序与控制器分开声明。我建议使用三个文件:模块(app.js)、控制器(customerController.js)和服务(dataService.js)

模块(app.js):

控制器(customerController.js):

服务(dataService.js):

按以下顺序包括这些文件:

<script src="/js/app.js"></script>
<script src="/js/customerController.js"></script>
<script src="/js/dataService.json"></script>


另外,不要将脚本文件包含在头部标记中,而是将它们包含在身体的最底部。如果将它们包含在头部,则它们将阻止页面呈现,直到它们完全加载。

不太确定节点服务器的设置方式,但我这里有一个小的工作示例,您可以将其集成到您的页面中r代码:

服务器(Server.js):

路由(Routes.js):

逻辑(test.js):

在您的package.json中,我假设您有:

  "dependencies": {
    "body-parser": "^1.13.2",
    "express": "^4.13.1",
    "morgan": "^1.6.1"
  },
虽然您不需要morgan来完成这项工作,但是能够看到您的http请求通过控制台进行测试还是很好的

此解决方案还假设您在根目录中拥有所有内容,并将JSON保存在名为“data.JSON”的文件中,因此根据需要调整文件夹结构和命名。这样,您只需向
http://localhost:5001/test
您将收到您的JSON数据

更新:

下面是一些额外的角度代码:

首先,我建议对代码进行一些重组/重构。将应用程序与控制器分开声明。我建议使用三个文件:模块(app.js)、控制器(customerController.js)和服务(dataService.js)

模块(a)
  "dependencies": {
    "body-parser": "^1.13.2",
    "express": "^4.13.1",
    "morgan": "^1.6.1"
  },
var app = angular.module('myApp', []);
angular.module('myApp').controller('CustomerController', ['DataService',
    function(DataService) {
          var vm = this;
          activate();

          function activate() {
               DataService.test()
               .then(function(results) {
                    vm.data = results;
               }, function(error) {})
               .finally(function() {

               });
          }
    }
]);
angular.module('myApp').factory("DataService",[ '$q', '$timeout', '$http',
    function($q, $timeout, $http) {
        return {
            test: function() {
                return $http({
                    url: 'test',
                    method: "GET",
                    headers: {
                        'Content-Type': 'application/json'
                    }
                }).success(function(data, status, headers, config) {
                    console.log("Success!");
                    return data;
                }).error(function(data, status, headers, config) {
                    console.log("Error.");
                });
            }
        };
    }
]);
<script src="/js/app.js"></script>
<script src="/js/customerController.js"></script>
<script src="/js/dataService.json"></script>