我正在尝试做一个帖子预览,它将出现在新的Fancybox iframe中。几周以来,我一直在寻找一些帮助或最佳做法,但我找不到。
我的主要问题是将数据从表单(在更新数据库之前)传递到Fancybox窗口。我的AJAX技能很差,所以也许我的问题并不难。
请检查代码:
$('.preview2').fancybox({
fitToView : false,
width : 905,
height : 505,
autoSize : false,
closeClick : false,
openEffect : 'none',
closeEffect : 'none',
ajax: {
type: "POST",
cache : false,
url: "preview.php",
data: $('#postp').serialize()
}
});
还有一个调用链接:
<a class="preview2" data-fancybox-type="iframe" href="preview.php" id="preview2">Preview</a>
我几乎可以肯定的是,preview.php文件一切正常,只需发布变量并将其打印在正确的位置即可。
有人可以检查Fancybox / AJAX零件吗?
正如我在评论中提到的那样,您的预览按钮应通过ajax提交表单以获取POST预览值(我们将使用ajax
代替iframe
),因此:
<a class="preview2" data-fancybox-type="ajax" href="preview.php" id="preview2">Preview</a>
然后,您需要将预览按钮绑定到手动on("click")
方法,以ajax
首先通过… 提交表单,然后将结果发布到fancybox中,如下所示:
$(document).ready(function () {
$('.preview2').on("click", function (e) {
e.preventDefault(); // avoids calling preview.php
$.ajax({
type: "POST",
cache: false,
url: this.href, // preview.php
data: $("#postp").serializeArray(), // all form fields
success: function (data) {
// on success, post (preview) returned data in fancybox
$.fancybox(data, {
// fancybox API options
fitToView: false,
width: 905,
height: 505,
autoSize: false,
closeClick: false,
openEffect: 'none',
closeEffect: 'none'
}); // fancybox
} // success
}); // ajax
}); // on
}); // ready
参见
DEMO
(随意浏览源代码)
问题内容: 我总是收到“错误”警报,但我无法弄清楚出了什么问题。我只是想取回我发送的字符串(“ testexpression”)。它必须与数据部分有关,因为没有参数就可以工作。 这是jQuery部分: 这是控制器: (更新:类型为post,我也尝试使用get进行测试,然后将其留在了里面) 问题答案: 您需要将数据作为字符串/ json发送。您正在发送一个javascript对象。另外,该URL可能
问题内容: 您好,我是使用jQuery和Ajax的新手。我正在尝试使用Jquery POST方法将数据提交到服务器。我传递的数据是一个字符串。现在,我无法理解如何传递数据以及如何检索数据。我曾尝试搜索有关我的问题的文章,但没有找到任何文章。我相信我的问题是非常基本的。 现在,我将发布postContacts动作的代码,这不是什么大问题。 但是我对于必须如何检索数据感到困惑。任何帮助表示赞赏。我正在
问题内容: 我在传递带有ajax url的参数时遇到问题。我认为错误在于参数代码语法。请帮助。 我正在按以下方式访问这些参数 问题答案: 为什么要结合GET和POST?使用一个或另一个。 的PHP: 或者,只需正确格式化您的请求即可(您缺少get参数的“&”号)。
问题内容: 如果这个解释不清楚,我很抱歉,我也很难理解。 如何使用PHP和Ajax将数组发送到Javascript? 我正在使用Ajax来获取照片阵列,然后希望将其追加到页面上的空白处。 jQuery如下所示: PHP函数getPhotos如下所示: 如果仅将数据发送到成功回调,但它似乎不是可用的格式。 如果我在PHP中执行,结果将类似于: 我已经尝试过诸如此类的各种组合,但实际上我在猜测并且不确
问题内容: 我正在使用tinyMCE通过AJAX进行文本区域和POST表单。 但是,当我尝试保存textarea值时,第一次单击时将使用旧值,而第二次单击时将使用更新的值。 我尝试使用,但没有用。 我也尝试过,但它仍然需要旧的价值观。 我的代码如下。 请帮助,任何帮助将不胜感激 问题答案: 用这个代替
问题内容: 我有一个简单的web方法和ajax调用,并继续收到一个错误,说它无法将字符串转换为IDictionary对象? 这是ajax调用: 这是webMethod: 这是我从FireBug中看到的内容: 响应标头 服务器:Microsoft-IIS / 5.1 日期:2009年4月9日,星期四,格林尼治标准时间 jsonerror:true 缓存控制:私有 内容类型:application /