【问题标题】:Reload ajax magnific pop-up重新加载ajax magnific pop-up
【发布时间】:2019-09-03 07:53:08
【问题描述】:

我有一个像

这样的宏伟弹出窗口
$.magnificPopup.open({
            items: {},
            type: 'ajax',
            ajax: {
                settings: {
                    url: some_url,
                    dataType: 'json',
                    method: 'POST',
                    data: params
                }
            },
            key: 'basket_popup'})

第一次运行良好。但假设,我有params 就像{'zz':'mm'}。 如果我第二次调用这个函数并传递新的参数,我会看到在网络中发送旧请求。如何避免(调用magnificPopup.close()除外)?

【问题讨论】:

  • 根据文档,“如果弹出窗口已经打开 - 它只会覆盖内容(但会保留旧选项)。”。如您所知,调用 .close() 会丢弃这些选项。为什么不能关闭并重新打开?另外,您是否尝试在更改选项后调用 updateItemHTML()?

标签: javascript ajax magnific-popup


【解决方案1】:

您可以只显示一些虚拟的空元素(它可能包含一个加载图标)并自己使用 ajax 在该元素内加载/重新加载内容。

【讨论】:

    【解决方案2】:

    不熟悉这个特定的插件,但你应该能够配置 ajax 部分。试试这样:

    $.magnificPopup.open({
            items: {},
            type: 'ajax',
            ajax: {
                settings: {
                    url: some_url,
                    cache:false,
                    dataType: 'json',
                    method: 'POST',
                    data: params
                }
            },
            key: 'basket_popup'})
    

    【讨论】:

      猜你喜欢
      • 2016-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多