AngularJS:在控制器中的API调用中捕获来自服务器的响应,该响应不是从AngularView生成的

AngularJS:在控制器中的API调用中捕获来自服务器的响应,该响应不是从AngularView生成的,angularjs,Angularjs,我正在设置一个注册页面,用户提交后,会通过电子邮件向他们发送一个激活链接。当他们点击电子邮件中的激活链接时,我希望帐户在服务器上被激活,然后我希望我的angularJS控制器捕获服务器的响应。我让激活部分正常工作,但我不确定如何捕获服务器的响应,因为对服务器的调用不是来自角度视图,而是来自电子邮件。在加载的激活页面控制器中 //Get activation value however you want to do that. var activationToken = ValueFromURLS

我正在设置一个注册页面,用户提交后,会通过电子邮件向他们发送一个激活链接。当他们点击电子邮件中的激活链接时,我希望帐户在服务器上被激活,然后我希望我的angularJS控制器捕获服务器的响应。我让激活部分正常工作,但我不确定如何捕获服务器的响应,因为对服务器的调用不是来自角度视图,而是来自电子邮件。

在加载的激活页面控制器中

//Get activation value however you want to do that.
var activationToken = ValueFromURLSomehow.

//Can keep it simple, with a $http request directly in controller, or use a service.
$http.get('api/Account/Activate',{params{token:activationToken}}).then(function(response){
  //Success - Do what you need to do.

}, function(response){
  //Fail - Handle it.
});

在您的激活页面控制器中加载

//Get activation value however you want to do that.
var activationToken = ValueFromURLSomehow.

//Can keep it simple, with a $http request directly in controller, or use a service.
$http.get('api/Account/Activate',{params{token:activationToken}}).then(function(response){
  //Success - Do what you need to do.

}, function(response){
  //Fail - Handle it.
});

尝试以下代码:

Html:


尝试以下代码:

Html:


将激活链接保持为带有控制器的角度页面。该链接只是您网站视图的一部分。在load页面上,使用promise激活控制器的post方法,在完成promise后,您将得到响应。您可以发布一个示例吗?我已经发布了一个示例。请选中将激活链接保持为带有控制器的角度页面。该链接只是您网站视图的一部分。在load页面上,使用promise激活控制器的post方法,在完成promise后,您将得到响应。您可以发布一个示例吗?我已经发布了一个示例。请检查一下,谢谢!稍加修改后效果很好。我改变了链接,通过angularJS视图/控制器调用服务器,而不是通过链接直接调用服务器。很高兴知道这对你有帮助。干杯,谢谢!稍加修改后效果很好。我改变了链接,通过angularJS视图/控制器调用服务器,而不是通过链接直接调用服务器。很高兴知道这对你有帮助。干杯
(function(){
    'use strict';

    angular
    .module('your moduleName',[])
    .controller('activationCtrl',activationCtrl);

   activationCtrl.$inject = ['$http'];

   function activationCtrl($http)
   {
      var vm = this;

      vm.activationSuccessMessage = "";

      var param = {}; //if any
       $http.post('api/Users/Activate', param)
         .then(function(response)
          {
              //Success - Do what you need to do.
              vm.activationSuccessMessage = "Activation Successful";

           }, function(response){
              //Fail - Handle it.
              vm.activationSuccessMessage = "Activation failed";
          });   
   }
})();