为什么AngularJS发送双网络请求?

时间:2016-06-10 14:46:24

标签: angularjs

我在AngularJS单页面应用程序的控制器中有如下所示的代码。当这个页面运行并且我检查开发人员工具网络(在IE,Chrome和Firefox中)时,它总是显示2个成功的GET调用表,以及两个空的OPTIONS调用表。为什么有2个GET电话?这是正常的还是我在代码中做错了什么?另外,为什么会发出2个OPTIONS调用?

"use strict";

app.controller('AdminController', function ($scope, $http)
{
    $scope.$parent.Title = "Admin";

    var url = $scope.$parent.BaseUrl + "Tables";
    $http.get(url)
        .then(function mySuccess(response)
        {
            $scope.MyTables = response.data;
        });
});

1 个答案:

答案 0 :(得分:5)

过去发生在我身上的问题是,我在路线上曾两次定义我的控制器:

.state('app.state', {
  url: '/state',
  controller: 'SomeCtrl',
  templateUrl: 'views/state.html'
})

然后在我的视图中再次定义HTML:

<div ng-controller="SomeCtrl"></div>

据我所知,你应该只在一个或另一个中定义它。