37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
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);
|
|
}
|
|
} |