Skip to content

Commit f7fafff

Browse files
committed
port ajax
1 parent 1e511e0 commit f7fafff

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed

debug_toolbar/static/debug_toolbar/js/toolbar.js

+22-18
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,20 @@
4040
}
4141
};
4242

43+
var ajax = function(url, init) {
44+
init = Object.assign({credentials: 'same-origin'}, init);
45+
return fetch(url, init).then(function(response) {
46+
if (response.ok) {
47+
return response.text();
48+
} else {
49+
var win = document.querySelector('#djDebugWindow');
50+
win.innerHTML = '<div class="djDebugPanelTitle"><a class="djDebugClose djDebugBack" href=""></a><h3>'+response.status+': '+response.statusText+'</h3></div>';
51+
$$.show(win);
52+
return Promise.reject();
53+
}
54+
});
55+
};
56+
4357
var djdt = {
4458
handleDragged: false,
4559
events: {
@@ -66,22 +80,15 @@
6680
var inner = current.querySelector('.djDebugPanelContent .djdt-scroll'),
6781
store_id = djDebug.getAttribute('data-store-id');
6882
if (store_id && inner.children.length === 0) {
69-
var ajax_data = {
70-
data: {
71-
store_id: store_id,
72-
panel_id: this.className
73-
},
74-
type: 'GET',
75-
url: djDebug.getAttribute('data-render-panel-url')
76-
};
77-
$.ajax(ajax_data).done(function(data){
83+
var url = djDebug.getAttribute('data-render-panel-url');
84+
url += '?' + new URLSearchParams({
85+
store_id: store_id,
86+
panel_id: this.className
87+
})
88+
ajax(url).then(function(body) {
7889
inner.previousElementSibling.remove(); // Remove AJAX loader
7990
inner.innerHTML = body;
8091
$$.executeScripts(inner);
81-
}).fail(function(xhr){
82-
var win = document.querySelector('#djDebugWindow');
83-
win.innerHTML = '<div class="djDebugPanelTitle"><a class="djDebugClose djDebugBack" href=""></a><h3>'+xhr.status+': '+xhr.statusText+'</h3></div>';
84-
$$.show(win);
8592
});
8693
}
8794
}
@@ -109,7 +116,7 @@
109116
ajax_data.url = this.getAttribute('formaction');
110117

111118
if (form) {
112-
ajax_data.data = $(form).serialize();
119+
ajax_data.body = new FormData(form);
113120
ajax_data.method = form.getAttribute('method') || 'POST';
114121
}
115122
}
@@ -118,13 +125,10 @@
118125
ajax_data.url = this.getAttribute('href');
119126
}
120127

121-
$.ajax(ajax_data).done(function(data){
128+
ajax(ajax_data.url, ajax_data).then(function(body) {
122129
var win = djDebug.querySelector('#djDebugWindow');
123130
win.innerHTML = body;
124131
$$.executeScripts(win);
125-
}).fail(function(xhr){
126-
var win = document.querySelector('#djDebugWindow');
127-
win.innerHTML = '<div class="djDebugPanelTitle"><a class="djDebugClose djDebugBack" href=""></a><h3>'+xhr.status+': '+xhr.statusText+'</h3></div>';
128132
$$.show(win);
129133
});
130134
});

0 commit comments

Comments
 (0)