我试图将json数据从oauth弹出窗口恢复到我的角度应用程序。我创建了一个间隔来检查弹出窗口中的数据。数据以json的形式返回到弹出窗口,但我无法将其恢复到主应用程序。
当我尝试这种方法时,我收到一个错误:
DOMException:使用origin" http://localhost:9000"阻止了一个框架从访问跨源框架。
我的代码是:
this.socialLogin = function(provider) {
$window.$scope = $rootScope;
var url = urlBase + '/' + provider,
width = 1000,
height = 650,
top = (window.outerHeight - height) / 2,
left = (window.outerWidth - width) / 2,
interval = 1000;
var options = 'width=' + width + ',height=' + height + ',scrollbars=0,top=' + top + ',left=' + left;
var socialPopup = $window.open(url, 'Social Login', options);
// create an ever increasing interval to check a certain global value getting assigned in the popup
var i = $interval(function(){
interval += 500;
try {
// value is the user_id returned
if (socialPopup.value){
$interval.cancel(i);
socialPopup.close();
}
} catch(e){
console.error(e);
}
}, interval);
};