如何使用jQuery拉取网页文本并将其按行存储为数组?
将拉取的补丁日志文本按行存入数组(jQuery实现)
嘿,你已经把动态加载补丁日志的基础逻辑跑通了对吧?现在只要调整下数据处理的环节——不用把内容塞到DOM元素里,而是拆成按行排列的数组就行,直接给你改好的代码,再给你掰扯清楚原理:
修改后的核心代码
$.get('https://raw.githubusercontent.com/VeryVhersty/Thealonic.html/main/patch%20logs', function(data) { // 把拉取到的文本按行分割为数组,兼容Windows/Linux/macOS的换行符 const patchLogLines = data.split(/\r?\n/); // 这里可以对数组做任意操作,比如打印查看效果 console.log(patchLogLines); // 如果需要过滤空行(比如日志末尾的多余空行),可以加这一步 // const patchLogLines = data.split(/\r?\n/).filter(line => line.trim() !== ''); }, 'text');
关键逻辑解释
- 获取纯文本数据:你之前指定的
'text'参数非常关键,它告诉jQuery把服务器返回的内容原封不动以字符串形式传给回调函数的data参数,而不是自动解析成JSON或其他格式。 - 按行分割字符串:用字符串的
split()方法,配合正则/\r?\n/来分割文本:\n是Linux/macOS的换行符,\r\n是Windows的换行符- 正则里的
?表示\r是可选的,这样就能兼容所有操作系统的换行格式
- 可选:过滤空行:如果日志里有多余的空行,可以用
filter()方法去掉,只保留非空的行(trim()是为了排除那些只有空格的行)。
拓展:原生JS实现(无需jQuery)
如果你以后想脱离jQuery,用原生JS的fetch API也能实现完全一样的效果,逻辑是相通的:
fetch('https://raw.githubusercontent.com/VeryVhersty/Thealonic.html/main/patch%20logs') .then(response => response.text()) .then(data => { const patchLogLines = data.split(/\r?\n/).filter(line => line.trim() !== ''); console.log(patchLogLines); });
内容的提问来源于stack exchange,提问作者user10787392
相关产品推荐
相关产品推荐

