После того, как я сделал AJAX-вызов и изменил содержимое тела с помощью $("body").html(this.responseText.match(/<\s*body.*>[\s\S]*<\s*\/body\s*>/ig).join(""));
, мои js-файлы в моем элементе head
не перезагружаются. Поэтому мне пришлось включить все эти js-файлы внизу элемента body
. Проблема в том, что каждый раз, когда я звоню AJAX, он загружает все файлы JS с сервера, а не из кэша, и это плохо влияет на интернет-трафик. Как я могу получить js-файлы из кеш-памяти браузера?
Мой метод ajax:
function AJAXFormPost(data, formAction) {
var httpRequest = new XMLHttpRequest();
var formData = new FormData();
Object.keys(data).forEach(function(key) {
formData.append(key, data[key]);
});
httpRequest.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// replace body content
$("body").html(this.responseText.match(/<\s*body.*>[\s\S]*<\s*\/body\s*>/ig).join(""));
// Update url
test_mode = window.location.href.split('/')[3];
question_number = document.getElementById("lblNrCrt").textContent;
pageUrl = "/" + test_mode + "/" + test_uuid + "/" + question_number + "/";
window.history.pushState('', '', pageUrl);
}
};
httpRequest.open("post", formAction);
httpRequest.send(formData);
}
Мой заголовок ответа:
Request URL:http://localhost:8000/static/js/switchMode.js?v08112019.104821&_=1573463871279
Request method:GET
Remote address:127.0.0.1:8000
Status code:
200
Version:HTTP/1.1
Referrer Policy:no-referrer-when-downgrade
Response headers (200 B)
Raw headers
Content-Length
3769
Content-Type
application/javascript
Date
Mon, 11 Nov 2019 09:18:14 GMT
Last-Modified
Fri, 08 Nov 2019 08:48:21 GMT
Server
WSGIServer/0.2 CPython/3.5.2
Request headers (757 B)
Raw headers
Accept
text/javascript, application/j…ion/x-ecmascript, */*; q=0.01
Accept-Encoding
gzip, deflate
Accept-Language
en-US,en;q=0.5
Connection
keep-alive
Cookie
csrftoken=c2QFtU6qkpzWJpqvqRXN…qid=3; show_btn=false; _gat=1
Host
localhost:8000
Referer
http://localhost:8000/exam/e5d…bd5713f44d1b90538b579539509/6/
User-Agent
Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/70.0
X-Requested-With
XMLHttpRequest