我在服务器响应后在浏览器中打开新选项卡时遇到问题。这是服务器代码(我使用Rails 3.0.5):
respond_to do |format|
format.js { render :json => {:url => link.url}, :status => :accepted }
end
因为我在AJAX调用之后使用jQuery作为默认的JS库,我用这个脚本处理服务器响应:
$('.link').bind('ajax:success',
function(e, data, textStatus, jqXHR){
$('#megalink').attr("href", data.url);
$('#megalink').trigger('click');
});
其中“megalink”是:
<a href="" style="color:white;" target="_blank" id="megalink">.</a>
所以问题是:在202服务器响应之后,没有创建新选项卡。您可能知道如何在新标签中打开网址吗?
答案 0 :(得分:0)
使用window.open(data.url);
希望有所帮助。
答案 1 :(得分:0)
嗯,_blank目标应该可以工作,如果你可以设置一个jsfiddle来显示它如何破坏,它会更容易帮助。否则,您可以尝试:
window.open(thenewurl);
答案 2 :(得分:0)
浏览器弹出窗口阻止程序阻止在脚本执行上下文中打开一个新窗口。
在同步模式下使用jquery AJAX,它将解决您的问题。