当前位置: 首页 > 面试题库 >

发布预览-使用AJAX和Fancybox传递数据

桑成荫
2023-03-14
问题内容

我正在尝试做一个帖子预览,它将出现在新的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 /