我正在开发一个从API请求一些数据的网站。我正在请求相当多的数据,所以我使用的是模板字符串。
模板字符串被正确解析,但在json内部它会混乱。它随机地为一些数字添加了一个“。”在数字的最后。
例如“http://logs.tf/json/2223521”=>“http://logs.tf/json/2223521。”
需要注意的是我正在使用async:false
function myTest() {
for (Id =2223535; Id >= 2223500; Id--) {
console.log(Id, `http://logs.tf/json/${Id}`);//returns the proper value
$.getJSON(`http://logs.tf/json/${Id}`, function (idData) { //sometimes adds a dot to the url
console.log("success");
});
}
}
例如,我从控制台获得的内容(for myTest()):
2223523 "http://logs.tf/json/2223523"
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://logs.tf/json/2223523. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). (unknown)
2223522 "http://logs.tf/json/2223522"
success
2223521 "http://logs.tf/json/2223521"
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://logs.tf/json/2223521. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
好的,所以我想我明白了。它与我提出Api请求的api服务有关,如果我做了太多请求,我从上面得到了错误。
如果我添加一些任意计算,例如“let number = 452 ^ 2”,问题就会消失,因为它会延迟一个请求和下一个请求之间的时间。
它也不会神秘地添加“。”对于那里的请求,因为吐出的错误在句子的末尾使用了一个点。