jquery – 在新选项卡中打开ajax链接

前端之家收集整理的这篇文章主要介绍了jquery – 在新选项卡中打开ajax链接前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在构建一个面向ajax的站点,我的所有链接都是这样的:
  1. <div class="link">press me </div>
  2.  
  3. <div id="contents" ></div>
  4. <script>
  5. $('div[class="link"]').click(function() {
  6. $.ajax({
  7. url: 'contents/get_products.PHP',type: "GET",data:
  8. dataType: 'json',success:
  9. function(data){
  10. $.each(data,function(i){
  11. $('#contents').append('<div class="cat_list_item">something</div>');
  12. });
  13. }
  14. });
  15. });
  16. </script>

如何在新选项卡中打开这些链接(在中间单击或右键单击“新选项卡中的打开链接”).

我知道浏览器只打开原始页面(url)而没有从Ajax调用中检索到的数据,但是如何让它在新选项卡中加载数据.
我一直在寻找互联网,到目前为止我还没有找到解决方案.

解决方法

不,至少使用你的方法做到这一点几乎是不可能的.如果要使用浏览器本机提供的新选项卡功能,则不能将带有Javascript处理程序的div用于链接.

你可以做什么:使用带有_blank的window.open作为目标,但是你会遇到弹出窗口拦截器的问题,这可能不是你想要的.

你也可以使用< a class =“link”href =“my-ajax-view /?some = parameters”> press me< / a>并编写一个页面,显示您正在寻找的内容(对我来说似乎是最好的解决方案,因为那时您还将为5%关闭Javascript的用户提供功能).您仍然可以通过单击该链接来使用JQuery加载一些奇特的AJAX,但如果有人在新选项卡中打开链接,您将重定向到收集信息的页面.您的新点击处理程序将如下所示:

  1. $('a.link').click(function(event) {
  2. event.preventDefault();
  3. // Your ajax request here
  4. }

猜你在找的jQuery相关文章