Angularjs。然后函数创建一个var来传递到外面。然后

时间:2015-12-29 12:12:20

标签: javascript angularjs json dynamic dependency-injection

有没有办法从.then承诺中获取结果中的数据?

我知道我发布的是错的,有办法吗?

这个指令用于检查用户是否存在于数据库中,我在check_username.php中编写了错误,当它找到时发出type = 1,如果它没有,那么它将返回2我想要做的是显示404页面或实际的个人资料页面(如果找到)。这基本上我试图在该功能中完成的只是查找用户是否存在并显示配置文件页面或404并将var发送给" templateUrl"将模板放在配置文件页面中。有没有更好的方法呢?



app.directive('profileDirective',function($http, $stateParams){

	var promise=$http.post('../../api/functions/check_username.php', JSON.stringify($stateParams.u) );
				
		promise.then(function(msg){
			if(msg.data.type=='2'){
				results = 'responses/404.php';
			}
			else if (msg.data.type=='1') {
				results = 'partials/profile/tpl/profile.head.tpl.php?u=' + $stateParams.u;
			}
		});

	console.log(results);

});




非常感谢,谢谢

1 个答案:

答案 0 :(得分:-1)

正如某人已经说过的那样,你只需在你的指令范围内创建一个变量。

app.directive('profileDirective',function($http, $stateParams){

    var result;
	var promise=$http.post('../../api/functions/check_username.php', JSON.stringify($stateParams.u) );
				
		promise.then(function(msg){
			if(msg.data.type=='2'){
				result= 'responses/404.php';
			}
			else if (msg.data.type=='1') {
				result= 'partials/profile/tpl/profile.head.tpl.php?u=' + $stateParams.u;
			}
		});

	console.log(result);

});