交互那些事(二)
2017-08-30 本文已影响29人
lijinfei
说完ajax我想必须说说jsonp了,谈到jsonp就必须先说说跨域,首先ajax是不能跨域的,除非后台允许跨域或者访问统一域名下的php或者后台文件路径,让后台自己去跨域
不知道大家注意研究过跨域没有,众所周知我们在引入图片或者iframe又或者js文件时,它是可以直接请求网上的资源用来本地的,然后jsonp呢其实按我的理解就像下图一样
我的第一个script标签里面定义了一个一个名为ljf的函数,然后动态创建了一个script标签并且url为我jsonp的请求地址,参数则为我回调函数的名字,而后台在接收到这个信息后,会将数据作为回调函数的参数并且在后台生成一个js文件,而我前端页面生成script的路径正指向后台的js文件,就像图中所示会将ljf这个函数运行
这就是一个很典型的jsonp跨域,网上有好多这种小例子,大家喜欢的可以自行百度,jsonp很简单只需要真正精通它的原理那他其实就不怎么难了,像ajax这种东西是官方提供的,但jsonp这种东西真的就是无数程序员总结出来的,让咱们大家一起努力吧
其实交互的方式还有很多种,jsonp和ajax只是其中的一小部分,比如fetch或者websokect或者form表单等等等等,我只是给大家介绍了常用的俩种,剩下的等我有机会再说吧