Я создал отдельный файл JavaScript, чтобы обернуть общий код Ajax (jQuery) и импортировать его в другие файлы JavaScript. Но это дает ошибку SyntaxError: import declarations may only appear at top level of a module
в Firefox и Uncaught SyntaxError: Cannot use import statement outside a module
в Chrome. Мой код выглядит следующим образом. Два файла находятся в одном каталоге.
ajax_call.js
function make_ajax_request(requestUrl, requestData, callback_function) {
$.ajax({
type: 'GET',
url: requestUrl,
data: requestData,
success: function(response) {
try {
var jData = JSON.parse(response);
if (jData['status'] == 'success') {
callback_function(jData);
}
else {
console.log(jData['error']);
}
} catch (error) {
console.log('Parse error in response.')
}
}
});
}
change.js
import { make_ajax_request } from './ajax_call.js'
var $ = django.jQuery;
$(document).ready(function() {
//code to call the function
});
admin.py
class Media:
js = ('admin/js/jquery.init.js', 'js/admin/ajax_call.js', 'js/admin/change.js',)