Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular.JS 404页单页应用程序_Javascript_Angularjs - Fatal编程技术网

Javascript Angular.JS 404页单页应用程序

Javascript Angular.JS 404页单页应用程序,javascript,angularjs,Javascript,Angularjs,有人能告诉我如何在angularJS中为单页应用程序制作“404-page not found”教程的正确方向吗 或者更好地解释如何实现这一点 互联网上似乎没有太多关于这方面的信息 在使用本机路由器的Angular SPA中,如果未找到路由,它将命中$routeProvider.others()方法,从而加载一个路由视图,如果从服务器交付,该路由通常为404'ed angular.app('application', ['ngRoute']) .config(['$routeProvid

有人能告诉我如何在angularJS中为单页应用程序制作“404-page not found”教程的正确方向吗

或者更好地解释如何实现这一点


互联网上似乎没有太多关于这方面的信息

在使用本机路由器的Angular SPA中,如果未找到路由,它将命中
$routeProvider.others()
方法,从而加载一个路由视图,如果从服务器交付,该路由通常为404'ed

angular.app('application', ['ngRoute'])
    .config(['$routeProvider', function($routeProvider) {

        // If route is not configured go to 404 route
        $routeProvider.otherwise('/404');

        $routeProvider.when('404', { /* route configuration */ });

    });

这里唯一的缺点是URL pushstate也会更改,但是如果服务器重定向到自定义404,通常会发生这种情况。

我不会将其视为404页面

angular.app('application', ['ngRoute'])
    .config(['$routeProvider', function($routeProvider) {

        // If route is not configured go to 404 route
        $routeProvider.otherwise('/404');

        $routeProvider.when('404', { /* route configuration */ });

    });
在您的SPA(单页应用程序)中,您可以进行多个API调用,独立地更新仪表板上的小部件,其中10个中有9个成功(200个),一个失败(404个),在这种情况下,您不想重定向用户

正如大卫·巴克(David Barker)所说,你有一个
,否则这是一个包罗万象的页面

app.config(['$routeProvider',
  function($routeProvider) {
    $routeProvider.
      when('/login', {
        templateUrl: 'login.template.html',
        controller: 'LoginController'
      }).
      when('/', {
        templateUrl: 'dashboard.template.html',
        controller: 'DashboardController'
      }).
      otherwise({
        redirectTo: '/'
      });
  }]);
因此,如果用户输入的路线不正确,则转到仪表板,唯一的问题是反馈:

1:您需要一个消息传递服务来反馈实际的API 404有错误响应,并且可以使用拦截器、指令和模型进行管理

2:您可以使用run方法以及查找$routeChangeError的相同指令和模型反馈错误消息,然后添加错误消息


我希望这会有所帮助。

您使用的路由器和Angular的版本是什么?使用route系统重定向到404页面您是说route not found还是template not found?templateURL not found NikhilI我使用的是AngularJS v1.3.15,因此如果templateURL未找到并返回404错误,此脚本将重定向到404页面No,不是那样的。如果找不到templateUrl,则会出现错误。理论上,您可以捕获该错误并重定向到404。你能发布你的模板加载代码吗?