角度服务无法启动

时间:2016-03-25 09:16:06

标签: html angularjs web-services

我正在尝试编写我的第一个角度项目。到目前为止,我创建了3个文件:index.html,index.js和service.js

service.js

var app = angular.module('app');

app.service('apiService', ['$http', function($http) {
  this.get = function() {
    return $http.get("http://localhost:8080/api/v1/projects");
  };
  this.delete = function(id) {
    return $http.delete("http://localhost:8080/api/v1/projects/{id}", id);
  }
  this.post = function(data){
    return $http.post("http://localhost:8080/api/v1/projects", data);
  }
}]);

index.js

app.controller('controller', ['$scope', 'apiService', function($scope, apiService) {
  var vm = this;
  var getData = apiService.get().success(function(data) {
    vm.data = data;
  }); 
}]);

的index.html

  <!DOCTYPE html>
  <html lang="en" ng-app="myApp">
  <head>
  <meta charset="UTF-8">
  <title></title>
  <script type="text/javavscript" src="angular.min.js"></script>
  <script type="text/javavscript" src="index.js"></script>
  <script type="text/javavscript" src="service.js"></script>
  </head>
  <body>

  <div ng-controller="controller as ctrl">
  <div ng-repeat="data in ctrl.data">{{data.name}}</div>
  </div>

  </body></html>

这是我的web.xml

  <?xml version="1.0" encoding="ISO-8859-1"?>
   <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
   xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee         http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

   <servlet>
   <servlet-name>jersey</servlet-name>
   <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
   <init-param>
   <param-name>com.sun.jersey.config.property.packages</param-name>
   <param-value>io.swagger.jaxrs.json;io.swagger.jaxrs.listing;io.swagger.api</param-value>
   </init-param>
   <init-param>
   <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
   <param-value>com.sun.jersey.api.container.filter.PostReplaceFilter</param-value>
   </init-param>
   <init-param>
   <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
   <param-value>true</param-value>
   </init-param>
   <load-on-startup>1</load-on-startup>
   </servlet>

   <servlet>
   <servlet-name>DefaultJaxrsConfig</servlet-name>
   <servlet-class>io.swagger.jaxrs.config.DefaultJaxrsConfig</servlet-class>
   <init-param>
   <param-name>api.version</param-name>
   <param-value>1.0.0</param-value>
   </init-param>

   <init-param>
   <param-name>swagger.api.title</param-name>
   <param-value>Swagger Server</param-value>
   </init-param>
   <init-param>
   <param-name>swagger.api.basepath</param-name>
   <param-value>http://localhost:8080/api/v1</param-value>
   </init-param>
   <load-on-startup>2</load-on-startup>
   </servlet>

   <filter>
   <filter-name>ApiOriginFilter</filter-name>
   <filter-class>io.swagger.api.ApiOriginFilter</filter-class>
   </filter>

   <filter-mapping>
   <filter-name>ApiOriginFilter</filter-name>
   <url-pattern>/*</url-pattern>
   </filter-mapping>
   </web-app>

我的问题是我的角度永远不会开始!!!但是我没有看到任何问题,一切似乎都很正常。我不知道问题出在哪里

3 个答案:

答案 0 :(得分:1)

尝试一些事情

  1. pick替换为ng-app="myApp"
  2. 模块应该这样声明:ng-app="app"(添加空依赖项 - var app = angular.module('app', []););
  3. 在html中更改文件的顺序
  4. 像这样:

    [ ]

    仅仅因为主要模块的第一个定义存在于<script type="text/javascript" src="service.js"></script> <script type="text/javascript" src="index.js"></script> service.js

    1. 此外,模块订单具有意义。如果您将遇到类似的错误 &#34; 参数&#39; MyCtrl&#39;不是一个功能,未定义&#34;,拿一个 看看this answer,因为它有一些解释 事情,如定义和订单错误

    2. 已添加工作jsfiddle

答案 1 :(得分:0)

替换

path
{
    fill: #000;
}

<html lang="en" ng-app="myApp">

答案 2 :(得分:0)

交换这两个js文件的订单,并用这个

替换你的js
          <script type="text/javascript" src="service.js"></script>  
          <script type="text/javascript" src="index.js"></script>

订单必须是这样的,因为app必须在控制器之前定义

和html标签必须

       <html lang="en" ng-app="app">