到底什么是JSONP

到底什么是JSONP?它和JSON到底有什么关系?这是我碰到JSONP时脑海里的浮现的第一个问题。先看看维基百科上是怎么解释的:

JSONP(JSON with Padding)是数据格式JSON的一种“使用模式”,可以让网页从别的网域要数据。

并不知道在说什么,JSON with Padding?也太抽象了。。。既然说“可以让网页从别的网域要数据”,那就是说JSONP的使用场景是需要跨域的,先试着码一码吧。

假设我有一个账户,每当我点击付款按钮,就会从账户中扣款1元。

发送请求有两种方案:

  1. 通过标签造get请求
button.addEventListener('click', (e)=>{
    let image = document.createElement('img')
    image.src = '/pay'
    image.onload = function(){ // 状态码是 200~299 则表示成功
        alert('成功')
    }
    image.onload = function(){ // 状态码大于等于 400 则表示失败
        alert('失败')
    }
})
  1. 通过

你可能感兴趣的:(到底什么是JSONP)