小编典典

将动态AJAX内容加载到Fancybox

ajax

这种情况:

用户将其zip插入输入字段,然后单击魔术按钮时,他会看到最接近其位置的商店。我称该服务很好,并以一些AJAX优点加载了该服务。一切都很好。

现在,我希望将结果显示在Fancybox中,而不是将结果插入页面上的某处。我根本无法完成这项工作。

JavaScript:

$('#button').on('click', function(){    
   // Function to build the URL edited out for simplicity       
   var nzData = '/url.com?Zip=8000 #module';

   $.fancybox({
      ajax: { 
         data: nzData
        }
    });
});

我希望Fancybox弹出并显示URL(nzData)中的标记。Fancybox已加载,但不是内容,而是一个字符串,内容为“
无法加载所请求的内容。请稍后再试。 ”。

服务不是问题,所以我怀疑这只是我忽略了某些事情或强奸了Fancybox API。那么,我在做什么错呢?

编辑:我忘了提,我使用的是旧版本的Fancybox(v1.3.4)。


阅读 225

收藏
2020-07-26

共1个答案

小编典典

我最终将内容加载到页面上的隐藏容器中,然后在Fancybox中显示该内容。

$('#button').on('click', function(){    
   var nzData = '/url.com?Zip=8000 #module';

     $('#foo').load(nzData, function(){
       var foo = $('#foo').html(); 
       $.fancybox(foo);
    });

});

我承认它不是很漂亮,但这是我可以使它起作用的唯一方法。今天早上,我与另一位开发人员进行了交谈,他们在类似问题中采用了相同的解决方案。

尽管如此,必须有更好的解决方案。如果有人知道,我很想听听!

2020-07-26