class api { constructor(props) { this.url = props.url; this.data = props.data; this.data_type = props.data_type; this.type = props.type || 'POST'; this.success_callback = props.success; this.error_callback = props.error; } ajaxRequest (){ if (!this.url) return; let class_data = this; let request_data = { headers: {"X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val()}, url: this.url, type: this.type, data: this.data, success: function (data) { if (class_data.success_callback) class_data.success_callback(data) }, error: function (data) { if (class_data.error_callback) class_data.error_callback(data) } } if (this.data_type === 'formData'){ request_data.processData = false request_data.contentType = false } if (this.data_type === 'json'){ request_data.data = JSON.stringify(this.data) } $.ajax(request_data); } }