跨域问题
解决办法:
- 服务器端设置允许跨域访问; 比如:CORS(跨域资源共享)代理方式
- 前端通过代理进行跨域访问;比如:Vue-cli自带的跨域代理方式
此方法为第二种: 10.AJAX与Axios框架 · 语雀
在Vue-cli配置文件中书写代理跨域配置:
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
transpileDependencies: true,
devServer: {
proxy: {
'/juheNews': {
target: 'http://v.juhe.cn/toutiao/index', //需要跨域的url
ws: true, //代理webSocket
changeOrigin: true, //允许跨域
pathRewrite: {
'^/juheNews': '' //重写路径
}
}
}
}
})
重启vuecli后,访问时使用代理url:/juheNews?type=top&key=自己的key
方便理解
字节与字符 流
字节流和字符流的主要区别体现在以下几个方面:
- 处理单位:字节流处理的最基本单位是1个字节,它通常用于处理二进制数据;而字符流处理的最基本单元是Unicode代码单元(大小2字节),它通常用于处理文本数据。
- 读写方式:字节输入流直接读取字节,而字符输入流底层每次读取两个字节并通过解码转换成字符;字节输出流则是直接将字节写入到硬盘文件,而字符输出流会先将字符写到内存缓冲区,再对照对应的码表将字符解码成字节,然后写入硬盘文件。
- 应用场景:字节流适用于文本、视频、音频、图片等各种类型文件的读写操作;而字符流一般只适用于读写文本文件,尤其是中文文本。如果用字符流读写非文本文件,如图片,可能会出现数据丢失或损坏的问题。
综上所述,字节流和字符流在处理单位、读写方式以及适用场景上均存在显著差异。字节流因其对二进制数据的处理能力,适用于处理各种类型的文件,包括文本、视频、音频和图片等;而字符流则因其对文本数据的处理能力,更适用于读写文本文件,尤其是需要处理中文文本的情况。在选择使用字节流还是字符流时,需要根据具体的应用场景和需求来决定。