这个场景:
用户将他的拉链插入一个输入字段,当单击魔术按钮时,他可以看到离他位置最近的商店。我将服务调用得非常好,并将其加载到AJAX- load中。平安无事。
现在,我希望将结果显示在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)。
发布于 2012-05-02 09:51:08
最后,我将内容加载到页面上的一个隐藏容器中,然后在Fancybox中显示该内容。
$('#button').on('click', function(){
var nzData = '/url.com?Zip=8000 #module';
$('#foo').load(nzData, function(){
var foo = $('#foo').html();
$.fancybox(foo);
});
});
这不是很漂亮,我承认,但这是我唯一能让它发挥作用的方法。今天早上,我和另一位开发人员谈了话,他在类似的问题上采用了同样的解决方案。
不过,必须有更好的解决办法。如果有人知道的话,我很想听!
发布于 2013-04-12 06:25:30
我知道这是个老问题,但我最近不得不处理类似的问题。下面是我将ajax加载到fancybox中所做的工作。
$('#button').on('click', function(){
$.fancybox({
width: 400,
height: 400,
autoSize: false,
href: '/some/url-to-load',
type: 'ajax'
});
});
发布于 2014-09-06 17:11:40
fancybox使用一个参数"ajax“,您可以在其中传递配置(正如jquery所描述的)
$("#button").click(function() {
$.fancybox.open({
href: "ajax.php",
type: "ajax",
ajax: {
type: "POST",
data: {
temp: "tada"
}
}
});
});
https://stackoverflow.com/questions/10403634
复制相似问题