jsonp的基础知识不多讲,只提一点,即jsonp所请求的其实是一段js代码,比如一个函数调用:
当然,前端页面上肯定需要函数的定义。jsonp调用了这段代码,并立即执行。
如果你的函数名是确定的,这当然没有问题。但是我们经常看到jquery封装的jsonp调用会携带一个callback参数,这个其实就是个随机的函数名,方便匿名函数接管函数内容,从而通过函数的参数(前面说的那端jsonp所调用的js代码)实现数据调用。
前端示例:
后台示例:
注意,关键在于接收一个callback参数,返回的是 callback(JSON对象)形式。