跨域解决方案有很多
其中对jsonp的跨域进行学习:
Jsonp的本质是动态创建标签,通过src属性向服务端发送跨域请求,通过响应的内容动态调用方法(通过传递的参数得到服务端响应的数据)
后台接口传递$cb,前台就要在callback=cb保持一致,在function cb()也要保持一致。则函数名字就是根据后台接口传过来的函数名字保持一致。
jsonp的本质:动态创建script标签,然后通过src属性发送跨域请求,然后服务端响应的数据格式【函数调用(foo(实参)】,在发送请求前声明一个函数,函数名字与参数传递的名字一致。这里声明的函数是由服务器响应的内容,(可理解为服务器调用)。
callback名字,还有callback后的值都可以在接口中重新定义。
jsonp不是ajax
Jquery中已经帮我们封装了jsonp。
dataType:‘jsonp’,
jsonp:‘cb’,
//jsonp属性的作用就是自定义参数名字,(callback=cb)这个值指的是等号前面的键。这里是cb则后端接口获取也是cb。
jsonpcallback:‘abc’,
//指定服务端返回的值是什么,callback=abc,这里指的是abc。
data:{},
以上学习使用,还有部分没有完善,有错误感谢指正。