我希望我能找到一些关于我的代码的帮助。
我在 mySQL 上建立了一个数据库,并将其连接到 Django REST。两者都按预期工作,我可以使用 Firefox REST Client 访问 REST,它会从数据库中返回正确的表。
我已经开始使用html和javascript处理用户界面,但遇到了一个我无法解决的问题。我是一名学生,这是我学校工作的一部分,但不幸的是,由于暑假,我的老师暂时无法上课,我渴望继续我的项目。因此,我请求您的帮助。
由于我已经通过 Firefox REST Client 测试了 Django REST,我确信数据库和 REST 服务没有问题,所以我们来看看我的代码。
我似乎能够连接到 REST 服务,给我代码 200 和状态 4(图片链接在下面)
ReadyStateChange + ReadyState 控制台.logs
图 2 显示我的 GET 请求卡在 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>
附言。抱歉,英语不是我的母语,所以可能出现了一些拼写错误
附言。第一次发帖,如有错误请见谅