这是我的第二篇帖子,我希望比上次更幸运,最后得到一些回复。?
我正在尝试做一个使用javascript“XMLHttpRequest”的Rapidapi api请求,我必须说,这个应用程序接口与ios siri快捷方式工作得很好。
这是apirapit站点在"XMLHttpRequest“部分提供的代码:
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://download-video-youtube1.p.rapidapi.com/mp3/medPORJ8KO0");
xhr.setRequestHeader("x-rapidapi-host", "download-video-youtube1.p.rapidapi.com");
xhr.setRequestHeader("x-rapidapi-key", "[my key here]");
xhr.send(data);这是我的代码:
<!DOCTYPE html>
<html>
<body>
<h2>The XMLHttpRequest Object</h2>
<button type="button" onclick="loadDoc()">Request data</button>
<p id="demo"></p>
<script>
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.withCredentials = true;
url='https://download-video-youtube1.p.rapidapi.com/mp3/xF5t2jOsCt8';
xhttp.onreadystatechange = function() {
if ((this.readyState == 4 && this.status == 200 )||(this.readyState === this.DONE)) {
document.getElementById("demo").innerHTML = "ciao" + this.responseText;
}
};
xhttp.open("GET", url);
xhttp.setRequestHeader("x-rapidapi-host", "download-video-youtube1.p.rapidapi.com");
xhttp.setRequestHeader("x-rapidapi-key", "[my key here]");
xhttp.send();
}
</script>
</body>
</html>只是为了测试,我创建了一个简单的银行html页面,在按下按钮后在按钮下面显示JSON响应。结果就是我在this.responseText之前设置的字符串“ciao”。如果我删除apikey或用错误的值修改它,就会出现一条JSON错误消息(就像我故意删除的案例一样)。否则,如上所述,除了“ciao”字符串
有没有语法错误?它表现成这样有没有逻辑上的原因?
谢谢佛朗哥
发布于 2021-09-10 08:42:18
正在尝试将data变量添加为null。这就是RapidAPI在他们的代码片段中提供的功能。
function loadDoc() {
const data = null
var xhttp = new XMLHttpRequest();
xhttp.withCredentials = true;
url='https://download-video-youtube1.p.rapidapi.com/mp3/xF5t2jOsCt8';
xhttp.onreadystatechange = function() {
if ((this.readyState == 4 && this.status == 200 )||(this.readyState === this.DONE)) {
document.getElementById("demo").innerHTML = "ciao" + this.responseText;
}
};
xhttp.open("GET", URL);
xhttp.setRequestHeader("x-rapidapi-host", "download-video-youtube1.p.rapidapi.com");
xhttp.setRequestHeader("x-rapidapi-key", "my key here");
xhttp.send(data);
}https://stackoverflow.com/questions/60120323
复制相似问题