为什么我的Angular $ http获取请求会返回我的index.html?

时间:2017-01-29 20:27:56

标签: javascript angularjs node.js express

    angular.module('myApp', ['ngRoute', 'myApp.controllers'])

    .config(function ($routeProvider, $httpProvider) {
      $routeProvider
        .when('/', {
          templateUrl: 'app/views/myApp.html',
          controller: 'appController'
        })
        .otherwise({
          redirectTo: '/'
        });
    });
  angular.module('myApp.controllers', [])
    .controller('appController', function($scope, $http) {

      $scope.oneCharacter = function() {
        $http({
          method:'GET',
          url:'http://localhost:3000/#/api/info'
        }).then(function(response) {
          console.log('-------------------------', response);
        }) .catch(function(err) {
          console.log(err);
        });
      }

    });
    <div ng-controller="appController">
      <input type="button" value="button" ng-click="oneCharacter()"/>


    </div>
<!DOCTYPE html>
<html ng-app='myApp'>
  <head>
    <meta charset="utf-8" />
    <title>Hello</title>
  </head>
  <body>
    <div ng-view></div>

    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-route.js"></script>

    <script src="app/controllers/myApp.js"></script>
    <script src="app/app.js"></script>

  </body>
</html>

您好, 我正在向我构建的http://localhost:3000/#/api/info服务器发送get请求。我期待一个json对象充满了人们的信息。但是,每次单击button(控制器)中的appController时,请求都不会指定url。每次我收到我在下面复制的index.html内容。但是,我使用postman测试了我的服务器,并返回正确的信息。有谁知道为什么会这样? 感谢

1 个答案:

答案 0 :(得分:0)

您提供给$http的网址是

url:'http://localhost:3000/#/api/info'

#意味着那些只是哈希(又名:锚点),这是Angular用来做内部路由的。因此,您要求的只是/,这是您的index.html页面。

假设您有一个托管API的本地服务器,则需要删除#

url: 'http://localhost:3000/api/info'