这是我的第二个帖子,我希望比上次更幸运,最后得到一些回复。
我正在尝试使用javascript“XMLHttpRequest”制作一个Rapidapi api请求我必须说该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”字符串
有语法错误吗?它的行为有这样的逻辑原因吗?
谢谢佛朗哥