b站网站一个奇怪get请求

查看b站时,发现一个奇怪的GET请求:

https://api.bilibili.com/x/web-show/res/loc?callback=jQuery17207120742371497628_1532268552145&pf=0&id=142&jsonp=jsonp&_=1532268552332

问号后面一大堆是什么东东?

jQuery17207120742371497628_1532268552145 这是什么意思

相关代码

https://api.bilibili.com/x/web-show/res/loc?callback=jQuery17207120742371497628_1532268552145&pf=0&id=142&jsonp=jsonp&_=1532268552332

哪位大神答疑解惑一下

阅读 2.4k
3 个回答

你既然知道 GET 请求,那难道不知道问号后面的是 parameter string 吗?

这堆参数里 jQuery17 那个看它对应的参数名 "callback" 很显然是个(生成的)本地回调函数的名字,这个结合后面的 jsonp=jsonp 可以确认。

如果你不了解的话可以百度一下 JSONP 的定义。

至于其他参数,_ 看起来是时间戳,id 没啥好说的,pf 就不知道了,也许是状态参数也许是页面参数。

跨域请求,jsonp

这是JSONP请求,利用script标签可以跨域的特性来解决跨域前后端跨域问题
前端的一个函数为

function callback(data) {
    // 对data的处理
}

前端发请求带上callback的名称,后端返回一个js文件内容为:(data即为返回的数据)

callback(data)

这样前端只需要使用该请求的链接创建一个script标签并且挂载到页面上就会自动运行这个函数并且从参数中获得后端返回的数据

至于jQuery后面那一大串其实是一个唯一标识符,避免存在多个callback的时候不同的请求的返回结果串了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题