解决打印问题:let errMsg = []; // 监听字体外链请求 $.ajax({ url: $('#iconfont').attr('href'), type: 'get', success: () => { // console.log('You iconfont CDN is up to date'); errMsg.push('You iconfont CDN is up to date') }, error: (XMLHttpRequest, textStatus, errorThrown) => { // alert(`字体外链失效,需要更新 CDN:${textStatus} - ${errorThrown}`) errMsg.push(`字体外链失效,需要更新 CDN:${textStatus} - ${errorThrown}`) } }) console.log(errMsg[0]);
时间: 2024-04-08 18:28:32 浏览: 126
根据你提供的代码,问题出现在异步操作中。由于ajax请求是异步执行的,所以在 `console.log(errMsg[0])` 执行时,数组 `errMsg` 的长度可能仍然为0,因此无法正确打印数组中的元素。
要解决这个问题,你可以将 `console.log(errMsg[0])` 放在ajax请求的回调函数中,确保在请求完成后再打印数组。例如:
```javascript
let errMsg = [];
// 监听字体外链请求
$.ajax({
url: $('#iconfont').attr('href'),
type: 'get',
success: () => {
// console.log('You iconfont CDN is up to date');
errMsg.push('You iconfont CDN is up to date');
console.log(errMsg[0]); // 在成功回调函数中打印数组
},
error: (XMLHttpRequest, textStatus, errorThrown) => {
// alert(`字体外链失效,需要更新 CDN:${textStatus} - ${errorThrown}`)
errMsg.push(`字体外链失效,需要更新 CDN:${textStatus} - ${errorThrown}`);
console.log(errMsg[0]); // 在错误回调函数中打印数组
}
});
```
这样,当ajax请求完成时,你就能正确地打印数组中的元素了。
阅读全文