xml定义
指可扩展标记语言,用来传输和存储数据。用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型、是一种允许用户对自己的标记语言进行定义的源语言。XML使用DTD文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。
json定义
json一种轻量级的数据交换格式,具有良好的可读性和便于快速编写的特性。可在不同平台之间进行数据交换。json采用兼容性很高的、完全独立与语言文本格式,同时也具备类似于c语言\以及java、python等等体系的习惯。这些使得JSON成为理想的数据交换语言。
xml:可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言。
json:(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。
二者区别:
它们都是一种数据交换格式。
1,xml是重量级的,json是轻量级的。
2,xml在传输过程中比较占带宽,json占带宽少,易于压缩。
3,xml和json都用在项目交互下,xml多用于做配置文件,json用于数据交互。
4,json可用jackson,gson等方法解析,xml可用dom,sax,demo4j等方式解析。
什么是跨域
跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。
例如:a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。注意:跨域限制访问,其实是浏览器的限制。理解这一点很重要!!!
同源策略:是指协议,域名,端口都要相同,其中有一个不同都会产生跨域;
解决跨域的方法
解决跨域的方法有:
1. 前端框架:以vue为例修改 vue.config.js
devServer: { open: true, host: 'localhost', port: 8080, overlay: { warnings: false, errors: true }, proxy: { '/api': { target: '接口路径', ws: true, changOrigin: true, pathRewrite: { '^/api': '' } } } }
2. JSONP
$.ajax({ // ********************************基本写法够了 // 内部实现过程就是上节优化写;不是XHR,造script标签; dataType: 'jsonp', url: "http://www.liulongbin.top:3006/api/jsonp", success: function(res) { console.log(res); }, // ********************************灵活配置 // 指定后面值:后台约定参数名 // jsonp: 'callback', // 指定值:前端指定执行函数的名称 // jsonpCallback: "fn" })