我有一个弹出窗口调用RESTful后端进行Oauth身份验证,但是当返回结果时,它会在弹出窗口中显示JSON,而不是关闭弹出窗口并将JSON存储在模型中。我该如何解决这个问题?
this.socialLogin = function(provider) {
var url = urlBase + '/' + provider,
width = 1000,
height = 650,
top = (window.outerHeight - height) / 2,
left = (window.outerWidth - width) / 2,
socialPopup = null;
$window.open(url, 'Social Login', 'width=' + width + ',height=' + height + ',scrollbars=0,top=' + top + ',left=' + left);
};
答案 0 :(得分:0)
所描述的情况可能不是解决Angular问题的最佳方法。我假设这是在控制器内写的。如果是这样,最好使用$http
服务调用后端服务。为此,
controller.js
angular.module('example')
.controller(['$scope', '$http', '$window', function($scope, $http, $window) {
$scope.socialLogin = function(urlEnd) {
$http.get(urlBase + '/' + urlEnd) // Should probably be posting here...
.then(function(res) { // Your JSON response here
$scope.doSomethingWithTheResponse(res.data);
}, function(err) { // Handle your error
$window.alert("We got us an error!\n" + JSON.stringify(err));
});
}
}])