F12将对象转换为数组

时间:2014-07-15 18:54:05

标签: jquery json angularjs requirejs

我有一个js文件routeLoader.js

var routeLoader = {
    routeData: {},

    myLoader: function () {
        jQuery.support.cors = true;
        $.ajax({
            url: 'http://localhost:61362/api/menu/getmenus/emptyString',
            type: 'GET',
            dataType: 'json',
            success: function (data) {
                routeLoader.routeData = data;
                return data;
            },
            error: function (x, y, z) {
                alert(x + '\n' + y + '\n' + z);
            }
        });
    }
};

在我的adminModule.js文件中,我有以下内容:

var dependencies = ['scripts/Angular/angular-route', 'utils/routeResolver'];
define(dependencies, function (ngRoute, Resolver) {
    'use strict';
    var adminModule = angular.module('app.adminModule', ['ngRoute', 'routeResolverServices']);
    adminModule.config(['$routeProvider', 'routeResolverProvider', '$controllerProvider', '$provide',
        function ($routeProvider, routeResolverProvider, $constrollerProvider, $provide) {
            adminModule.lazyRegister = {
                controller: $constrollerProvider.register,
                factory: $provide.factory
            };

            var rpRoute = routeResolverProvider.route;
            try {
                routeLoader.routeData.forEach(function (route) {
                    $routeProvider
                    .when(route.menuName, rpRoute.resolve(route.viewDirectory, route.controllerDirectory, route.baseName, route.path))
                });
            } catch (e) {
                alert(e.message);
            }
        }
    ]);
    return adminModule;
});

当在Chrome和IE中运行F12 Dev Tools时,routeLoader.routeData包含一个JSON数据数组,这是所需的结果。没有运行F12 Dev Tools,routeLoader.routeData只是一个Object而routeLoader.routeData.forEach失败,因为它不包含任何JSON数据。我不知道发生了什么事;任何帮助将不胜感激。

btw:routeLoader.js在jquery.js文件之后加载,并且在index.html页面的Angular.js文件之前加载。

0 个答案:

没有答案