从jQuery Ajax成功回调中获取window.open()的错误

时间:2013-05-28 09:10:51

标签: javascript jquery ember.js

我有一个POST Ajax请求,它在我的Web服务器后端(Grails 2.2.0)上调用一个函数。 Web服务器返回一个JSON对象,其中包含指向另一个Web页面的URL。在成功回调Ajax请求时,我尝试将用户重定向到另一个页面,如下所示:

$.ajax({
  type: 'POST',
  url: 'external/location',
  data: {account: 'myAccount'},
  success: function(data) {
    if(typeof data.redirect !== 'undefined') {
      var win = window.open(data.redirect, '_blank'); // <-- here I open another window/tab
      win.focus();
    }
  }
});

这显然有效,但是我在Chrome网络浏览器的开发者控制台中收到以下错误消息:

Blocked a frame with origin "http://the.redirected.page" from accessing a frame with origin "http://my.page". Protocols, domains, and ports must match.

我认为JSONP不是解决问题的正确武器,因为我没有查询外部服务器,但是我正在重定向到Ajax中的另一台服务器{ {1}}回调?

注意:我不使用普通的Javascript,而是使用success:Ember.JS 1.0.0-rc3

0 个答案:

没有答案