JSONP

什么是JSONP

通过动态创建script标签来实现跨域沟通的一种解决方案。

  • 请求方动态创建script标签
  • 使script的src指向服务器,并指定查询参数?callback=xxx(xxx为回调函数名)
  • 服务器收到请求并构造响应
  • 请求方收到响应并执行回调函数xxx
    其中,回调函数的第一个参数接收需要从服务器获取的数据。
    服务器构造的响应如下:
response.write(`
    ${query.callback}.call(undefined,'需要传的数据')//query.callback的值为url的查询参数callback的值  本例中是xxx
`)

JSONP有两条约定

  • 查询参数的名字为callback
  • 查询参数的值为随机数

JSONP为什么没有POST请求

因为JSONP是通过动态创建script标签来实现的。
动态创建的script没有POST请求。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容