尝试打开此弹出窗口但我收到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。
答案 0 :(得分:0)
回调定义错误,json响应数据在mfpResponse.xhr.responseJSON
中,所以正确的代码是
callbacks: {
parseAjax: function (mfpResponse) {
console.log(mfpResponse);
mfpResponse.data = mfpResponse.xhr.responseJSON.html;
}
}