Хотелось бы найти помощь с моим кодом.
Я создал базу данных на mySQL и подключил ее к Django REST.Они оба работают должным образом, и я могу получить доступ к REST с помощью клиента Firefox REST, возвращая правильные таблицы из базы данных.
Я начал работать для пользовательского интерфейса с html и javascript и я столкнулся с проблемой, которую не могу решить.Я учусь, и это часть моей школьной работы, но, к сожалению, моих учителей нет в настоящий момент из-за летних каникул, и я с нетерпением жду продолжения своего проекта.Поэтому я прошу вашей помощи.
Поскольку я тестировал REST Django через REST-клиент Firefox, я уверен, что база данных и служба REST не виноваты, поэтому мы подошли к моему коду.
Кажется, я могу подключиться к службе REST, давая мне код 200 и состояние 4 ( картинки, связанные под )
ReadyStateChange + ReadyState console.logs
На рисунке 2 показано, что мой запрос GET застревает в OPTIONS вместо выполнения правильного запроса.
200 OPTIONS
Однако я не могувытащить данные, давая мне 'Content-Length: 0' .
Первоначально я думал, что проблема будет связана с проблемой междоменного запроса, пока мой сокурсник не сказал, что это не так, однако он также не смог найти решение для моего кода.
Я пытаюсь найти причину и способ обойти эту ошибку, и если вы, ребята, действительно знаете, почему это происходит, я бы глубоко признателен за вашу помощь!
Вот мой код:
<div id="demo"></div>
<script>
loadData() //function kutsu
function loadData(){
if (window.XMLHttpRequest) {
// code for modern browsers
xmlhttp = new XMLHttpRequest();
} else {
// code for old IE browsers
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
var url = "http://127.0.0.1:8000/vamkrs/";
xmlhttp.open("GET", url, true);
xmlhttp.withCredentials = true;
xmlhttp.setRequestHeader("Authorization", "Basic " + btoa("username:password"));
xmlhttp.send();
setTimeout(xmlhttp.onreadystatechange = function() {
console.log(this.status);
console.log(this.readyState);
if (this.readyState == 4 && this.status == 200) {
var myData = JSON.parse(this.responseText);
document.getElementById("demo").innerHTML = myData.responseText(); }
},1500);
/*
xmlhttp.onreadystatechange = function(){
console.log(this.status);
if (this.readyState == 4 && this.status == 200) {
var myData = JSON.parse(this.responseText);
document.getElementById("demo").innerHTML = myData.responseText();}
}; */
}
</script>
Ps.Извините, английский не является моим родным языком, поэтому некоторые орфографические ошибки могли быть допущены
Pss.При первом размещении здесь, я прошу прощения, если были допущены ошибки в сообщении