TypeError:尝试打开Magnific弹出窗口时未定义e

时间:2014-02-03 20:47:37

标签: javascript jquery json magnific-popup

尝试打开此弹出窗口但我收到jQuery错误TypeError: e is undefined

$.magnificPopup.open(
    {
        items: {
            src: '/the-page?' + $.param(params),
            type: 'ajax'
        },
        ajax: {
            settings: {
                dataType: 'json'
            },
            cursor: 'mfp-ajax-cur',
            tError: 'The content could not be loaded.'
        },
        callbacks: function (mfpResponse) {
            console.log(mfpResponse);
            mfpResponse.data = mfpResponse.html;
        }
    }
);

我可以在Firebug中看到json响应正确到达。显示Loading...消息,但mfpResponse从不是console.logged。 html有一个div根,其中包含来自站点的示例样式。我需要响应为json,因为还有其他数据可供使用。这是Firefox 26,jQuery 1.10.2和Magnific-Popup 0.9.9。

1 个答案:

答案 0 :(得分:0)

回调定义错误,json响应数据在mfpResponse.xhr.responseJSON中,所以正确的代码是

callbacks: {
    parseAjax: function (mfpResponse) {
        console.log(mfpResponse);
        mfpResponse.data = mfpResponse.xhr.responseJSON.html;
    }
}