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