我见过一个使用MVC的例子.它有一个返回URL,它会显示一个从发出的电子邮件中调用的屏幕.但我有一个SPA AngularJS应用程序,所以它有点不同.有没有人试图用SPA来做这件事,如果有的话,他们是如何实现它的.任何指针都将非常感激.
解决方法
我现在正在做同样的事情;需要更多的工作来使它变得漂亮和诸如此类,但希望你能得到一般的想法.
确认网址如下所示:
http://localhost:8000/app.html#/confirm/9a28aa89e84e80153b1f2083d38911acbae12e8365dd13c83cee55f79481e1f8
(localhost:8000,因为我正在测试).然后我有一个ui-router路由:
var confirm = { name: 'confirm',url: '/confirm/:auth',templateUrl: 'app/front/partial/confirm.html',params: {auth: {}} } ; $stateProvider.state(confirm) ;
confirm.html部分(显然需要充实!)是:
<div ng-controller="Fapi.Front.Confirm.Ctrl"> CONFIRM </div>
控制器是:
angular.module('myApp') .controller('App.Front.Confirm.Ctrl',[ '$scope','$state','$stateParams','toaster','MyDataService',function ($scope,$state,$stateParams,toaster,MyDataService) { MyDataService.confirm ( {auth: $stateParams.auth},function (data) { toaster.pop('success','Your registration has been confirmed') ; setTimeout(function () { $state.go('login') },5000) ; },function (data) { toaster.pop('error',data.message) ; } ) }]) ;
MyDataService只是一个将$http调用包装到服务器的服务.
因此,路由器将浏览器带到一个页面,而不是“通常”的情况,即URL调用执行工作的服务器上的脚本,然后呈现“您已经确认”(或不是)页面,对服务器进行AJAX调用以进行确认.