可以这样理解吗
来源:3-4 跨域URL处理
学习plus
2020-07-19 15:31:27
http://class.imooc.com/api/jsonp
这个网站是一个接口,直接搜索,出现这个

有点像直接打开PHP文件出的内容,臆想是个服务端处理文件,处理的函数都写在里面,包括规定的?jsonp后缀,回调函数的模板。


这个jsonp后缀并不是统一规定的,只是http://class.imooc.com/api/jsonp这个处理文件的函数中指定的,如果擅自修改jsonp,比如改为jsonpp,再访问http://class.imooc.com/api/jsonp,会无法读取,值取决于你要访问的接口url中规定的值。
难以理解的是script是如何调用到处理文件里的内容的,目前能想到的是

直接搜索script的地址链接
甚至不需要后缀
一样可以打开,只不过是个匿名对象
1回答
同学你好,整体理解是对的,针对同学的疑问解答如下:
将script的src标签设置为http://class.imooc.com/api/jsonp这个接口,并传递参数jsonp时,后台在接受到这个请求时,默认做一些处理(这个前端人员不需要关心),将数据作为函数(指的就是发送请求时jsonps对应的函数名)的参数传递过来。
老师这里简单给同学举个示例,帮助同学更好的理解,如下所示,我们在前端定义函数,将这个函数名传递给后台。如下所示:函数名是任意的,但是参数名jsonp是固定的。

后台接收到请求,会自动调用该方法,将数据作为函数的参数传递过来,这样就可以在控制台查看输出的结果了。

http://class.imooc.com/api/jsonp?jsonp这种格式,传递了参数jsonp,只是没有指定参数值而已,那为什么这样写也可以获取到数据呢,因为后端人员进行了处理,当用户只传递了参数, 默认返回一个匿名函数。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题