一、原理
我的理解:因为script标签(类似的还有img,iframe)不受同源策略限制,故可以用于跨域数据的获取,这是根本原因。
客户端设置一个script,其url指向支持JSONP的后端API,再声明一个callback函数,函数名需与url中?callback=字段值相同。当包含特定url的script载入时,会向后端API发起请求,后端会将数据包裹进一个函数的参数里,当然这个函数的名称是根据前端url参数自动生成的,前端script载入完成则自动调用已有的callback函数,对接受到的数据(此刻是函数参数)做出处理,从而实现了跨域。