通过阿贾克斯邮寄请求与任何灯箱拼凑挣扎。 概念是点击一个链接后发送到服务器的数据包含图像标识符和某种用户验证信息。 生成的jpg图像应显示在响应式开源灯箱中。 尝试lightboxj.js和魔术盒没有成功。 这可能吗? 任何示例?由于javascript或jquery通过阿贾克斯发送邮件数据
更新1
我现在包括一些代码,做这项工作的一半:它加载到一个特定的div(#imageHidden)我需要的图像(因此,“POST”请求被覆盖)
$("#testa").bind('click', function(e){
e.stopImmediatePropagation();
e.preventDefault();
$.ajax({
type: "POST",
data : {
username: username,
password: password,
img: img
},
url: php_url,
success: function(data){ //read the value and save in settings
if (data.length>0) {
$('#hiddenImage').html('<img src="data:image/jpeg;base64,' + data + '" />');
// $.colorbox({href:"#hiddenImage"});
}
});
然后我会设置这个div为隐藏,以避免显示在页面上(我希望它仅在灯箱)显示...
现在的问题是如何显示此成一个灯箱。任何建议?
出于某种原因,颜色框是不是在我的情况下工作
感谢
更新2
好,一些分类:
颜色框所需要的属性内嵌到be true to show content of the page:
$.colorbox({inline:true, href:"#hiddenImage"});
我已经把我的#hiddenImage到#hiddenDiv:
#hiddenDiv { display: none; }
更新3
好吧,我觉得现在的工作。 我使用colorbox作为灯箱。 请注意#hiddenImage是一个想要显示的图像,它将被加载到一个不可见的(display:none)#hiddenDiv DIV中。
对于大家感兴趣的最终代码:
$("#testa").bind('click', function(e){
e.stopImmediatePropagation();
e.preventDefault();
$.ajax({
type: "POST",
data : {
username: username,
password: password,
img: img
},
url: php_url,
success: function(data){ //read the value and save in settings
if (data.length>0) {
$('#hiddenImage').html('<img src="data:image/jpeg;base64,' + data + '" />');
$.colorbox({inline:true, href:"#hiddenImage"});
}
});
});
唯一剩下的问题似乎在某个时候是lightbos空的,但如果我设置一个计时器,颜色框调用之前等待的秒的十分之几本被解决。
有没有一种方法,以确保代码
$('#hiddenImage').html('<img src="data:image/jpeg;base64,' + data + '" />');
调用颜色框(除了丑的setTimeout选项)之前完全执行?
你能提供代码(小提琴)和更多关于你的问题的细节吗? –
已添加。感谢Mosh。 – lui