1、jsonp是一种可以解决跨域问题的方式,就是通过动态创建script标签用src引入外部文件实现跨域,script加载实际上就是一个get请求,并不能实现post请求。(其他实现跨域的方法有:iframe,window.name,postMessage,CORS...)
2、ajax是一种技术,ajax技术包含了get和post请求的,但是它仅仅是一种获取数据的技术,不能直接实现跨域,只有后台服务器配置好Access-Control-Allow-Origin,才可以实现请求的跨域。
3、我们平时用的都是经过juery封装好的ajax,而不是原生的。这个封装好的$.ajax也有封装了jsonp的方式,只需自身配置好dataType:'jsonp'就能够利用jsonp实现get请求的跨域;如果需要实现post请求的跨域,就必须后台服务器配置好Access-Control-Allow-Origin,以及自身配置好dataType:'json'。
4、axios是通过promise实现对ajax技术的一种封装,axios是ajax,ajax不止axios。
总结:
juery的$.ajax实现get请求能跨域是因为jsonp或者因为原生ajax和服务器的配合,post请求能跨域就只能是因为原生ajax和服务器的配合。