javascript - 模板字符串不适用于 AJAX 请求中的链接?
问题描述
我正在尝试在AJAX 的帮助下使用restcountries.eu加载国家/地区的静态数据。但是当我在链接上使用模板字符串时,例如xhttp.open('GET', `https://restcountries.eu/rest/v2/alpha/${input}`, true)
;它找不到链接并抛出错误400。错误是这样的:console: GET https://restcountries.eu/rest/v2/alpha/ 400
。我想知道怎么了?!我以前从未见过这样的事情。
等待 5 秒,直到您看到控制台错误。
ps 我是 AJAX 的初学者,我想用 XHR 来做,反正我知道没有人使用它。我可以使用async / await来做到这一点,但就目前而言,XHR。
const countries = () => {
const input = document.querySelector('#section--input');
const xhttp = new XMLHttpRequest();
xhttp.open('GET', `https://restcountries.eu/rest/v2/alpha/${input.value}`, true);
xhttp.onload = function() {
if (this.status === 200) {
const src = JSON.parse(this.responseText);
console.log(src.flag)
console.log('Fetch API is working!');
} else {
console.log('Fetch API is not working!');
}
}
xhttp.send();
// Making sure the value is true
console.log(input);
}
document.querySelector('button').addEventListener('click', countries);
<input type="text" placeholder="Country" id="section--input">
<button type="button" id="button">Click</button>
解决方案
经过测试,我发现您的代码给出了错误400
,这意味着 a bad request
,回顾您的代码,我可以看到问题:\
https://restcountries.eu/rest/v2/alpha/${input}` + input you are adding input twice to the URL do:
`https:// restcountries.eu/rest/v2/alpha/${input}``
const countries = () => {
const input = document.querySelector('#section--input').value;
const xhttp = new XMLHttpRequest();
xhttp.open('GET', `https://restcountries.eu/rest/v2/alpha/${input}`, true);
xhttp.onload = function() {
if (this.status === 200) {
const src = JSON.parse(this.responseText);
console.log(src.flag)
console.log('Fetch API is working!');
} else {
console.log('Fetch API is not working!');
}
}
xhttp.send();
// Making sure the value is true
console.log(input);
}
document.querySelector('button').addEventListener('click', countries);
推荐阅读
- python - 在原始实验数据上找到最大值
- angular - formarray第一个元素一直显示
- reactjs - 警告:道具类型失败:提供给“编辑器”的“对象”类型的无效道具“值”,应为“字符串”
- android - Android Volley onResponse 功能未运行
- python - 如何在 pandas python 中同时进行多个连接?
- sql - 高效地从范围日期分解到每日?
- javascript - 如何在猫鼬连接上使用“Node.js 3.0 或更高版本”?
- javascript - Typeahead.js 不显示建议
- gradle - 检索 https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-modified.meta 时出错;收到响应码 404
- python - 处理 pytest 参数字符串中的单引号