js/src/common/Ajax.js
//KB.Ajax
var Notice = require('common/Notice');
module.exports =
{
send: function (data, callback, scope, options) {
var pid;
var addPayload = options || {};
if (data.postId) {
pid = data.postId;
} else {
pid = (KB.Environment && KB.Environment.postId) ? KB.Environment.postId : false;
}
var sned = _.extend({
supplemental: data.supplemental || {},
nonce: jQuery('#_kontentblocks_ajax_nonce').val(),
post_id: pid,
postId: pid,
kbajax: true
}, data);
jQuery('#publish').attr('disabled', 'disabled');
return jQuery.ajax({
url: ajaxurl,
data: sned,
type: 'POST',
dataType: 'json',
success: function (data) {
if (data) {
if (scope && callback) {
callback.call(scope, data, addPayload);
} else if (callback) {
callback(data, addPayload);
}
}
},
error: function () {
// generic error message
Notice.notice('<p>Generic Ajax Error</p>', 'error');
},
complete: function () {
jQuery('#publish').removeAttr('disabled');
}
});
}
};