【问题标题】:AngularJs HTML5 mode not loading imagesAngularJs HTML5模式不加载图像
【发布时间】:2014-03-25 07:57:01
【问题描述】:

我正在使用 AngularJs 在 ASP MVC 框架之上创建一个 SPA。在启用 HTML5 模式以生成更好的 URL 之前,我的一切工作都很好。现在没有加载图像。

似乎对我的 /Images 文件夹的任何请求都没有发送到服务器。我使用 Fidler 检查流量,可以看到所有对部分的请求,但看不到图像。

这是我的 AngularJs 路线

$stateProvider.
      state({
          name: 'home',
          url: '/',
          templateUrl: '/app/public/partials/index.html'
      }).
      state({
          name: 'infoprivacy',
          url: '/info/privacy',
          templateUrl: '/app/public/partials/info/privacy.html'
      }).
      state({
          name: 'infocookie',
          url: '/info/cookie',
          templateUrl: '/app/public/partials/info/cookie.html'
      }).
      state({
          name: 'infoterms',
          url: '/info/terms',
          templateUrl: '/app/public/partials/info/terms.html'
      }).
      state({
          name: 'groups',
          url: '/groups',
          templateUrl: '/app/public/partials/groups/index.html'
      }).
      state({
          name: 'groupsview',
          url: '/groups/view/:id',
          templateUrl: '/app/public/partials/groups/view.html'
      }).
      state({
          name: 'jobs',
          url: '/jobs',
          templateUrl: '/app/public/partials/jobs/index.html',
          controllr: 'JobsCtrl'
      }).
      state({
          name: 'jobsview',
          url: '/jobs/view/:id',
          templateUrl: '/app/public/partials/jobs/view.html'
      }).
      state({
          name: 'jobsnotfound',
          url: '/jobs/notfound',
          templateUrl: '/app/public/partials/jobs/notfound.html'
      }).
      state({
          name: 'login',
          url: '/login',
          templateUrl: '/app/public/partials/login.html'
      }).
      state({
          name: 'error',
          url: '/error/:errorRef',
          templateUrl: '/app/public/partials/error.html'
      }).
      state({
          name: 'cvs',
          url: '/cvs',
          templateUrl: '/app/public/partials/cvs/index.html'
      }).
      state({
          name: 'cvsedit',
          url: '/cvs/edit/:id',
          templateUrl: '/app/public/partials/cvs/edit.html'
      }).
      state({
          name: 'cvsedit.withdlg',
          url: '/:dlg',
          templateUrl: '/app/public/partials/cvs/edit.html'
      }).
      state({
          name: 'profile',
          url: '/profile',
          templateUrl: '/app/public/partials/profile/index.html'
      });

  $urlRouterProvider.when('', '/');

  $locationProvider.html5Mode(true).hashPrefix('!');

这是未加载的背景图片的 CSS

#menu .item.navProfile {
    background: url(/Images/icon-nav-profile.png) right 20px no-repeat;
}

包含菜单的 HTML 是使用 ng-include 加载的

【问题讨论】:

  • 也许这个答案有帮助 - stackoverflow.com/a/6161057/2104976
  • 问题是图像请求似乎没有发送到服务器。我猜 AngularJs 正在尝试路由它?
  • 没办法。在 Chrome 上打开浏览器控制台,看看它是否能够在网络选项卡中选择路由。或者看看控制台是否有任何错误(可能是 404)?
  • 在 chrome 中查看网络选项卡中的请求,它只是说它正在等待并永远保持等待状态
  • 你的服务器端代码丢失了,bug应该在这里(url重写)

标签: javascript asp.net-mvc angularjs


【解决方案1】:

有一个名为 Batarang 的 chrome 开发工具插件,这将有助于调试 Angular JS 问题。

【讨论】:

    猜你喜欢
    • 2014-08-04
    • 1970-01-01
    • 2015-05-03
    • 2011-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-07
    相关资源
    最近更新 更多