因此,我创建了一个小型javascript类,该类应该将AJAX发布到PHP文件中。该类如下:
var cms = cms || {};
cms.load_view = (function() {
return {
change: function() {
jQuery("#layout-switch a").on('click', function()
{
jQuery('#layout-switch a').removeClass('current');
jQuery(this).addClass('current');
var column_number = jQuery(this).attr('data-name');
var category = jQuery("#cat_id").val();
var data = {mode: column_number, cid: category};
this.postChange(data);
});
},
postChange: function(data) {
jQuery.ajax({
type: 'post',
url: SITEURL + "/modules/digishop/loadcategory.php",
data: data,
beforeSend: function () {
jQuery('#digishop').animate({
opacity: 0
}, 250, function () {
jQuery(this).addClass(column_number);
jQuery(this).animate({
opacity: 1
}, 250);
});
},
success: function (html) {
jQuery("#digishop").html(html);
}
});
return true;
}
}
})(jQuery);
jQuery(document).ready(function() {
cms.load_view.change();
});
但是,当我单击选择器时,Firebug表示
postChange
在第一种方法(也称为this.postChange(data);
)中调用时不是函数。有任何想法吗?
谢谢!
最佳答案
在更改功能中,this
是对您单击的链接的引用。将this.postChange(data);
替换为cms.load_view.postChange(data);
。