前端局部刷新的几种方式

ゝ一纸荒年。 2022-01-10 03:37 1446阅读 0赞
  1. 通过img标签请求,实现局部刷新。实现方式向页面插入一个img标签,监听其加载,加载成功则表示请求成功,做出相应的处理;加载补充表示请求补充,也作出相应的处理。

    button.addEventListener(‘click’, (e)=>{

    1. let image = document.createElement('img')
    2. image.src = '/pay'
    3. image.onload = function(){ // 状态码是 200~299 则表示成功
    4. alert('成功')
    5. }
    6. image.onerror = function(){ // 状态码大于等于 400 则表示失败
    7. alert('失败')
    8. }

    })

  2. 用script标签造get请求,实现原理与方法1类似,这种技术叫做 SRJ - Server Rendered JavaScript

    button.addEventListener(‘click’, (e)=>{

    1. let script = document.createElement('script')
    2. script.src = '/pay'
    3. document.body.appendChild(script)
    4. script.onload = function(e){ // 状态码是 200~299 则表示成功
    5. e.currentTarget.remove()
    6. }
    7. script.onerror = function(e){ // 状态码大于等于 400 则表示失败
    8. e.currentTarget.remove()
    9. }

    })

以上两种方式的后端代码(node):

  1. //后端代码
  2. ...
  3. if (path === '/pay'){
  4. let amount = fs.readFileSync('./db', 'utf8')
  5. amount -= 1
  6. fs.writeFileSync('./db', amount)
  7. response.setHeader('Content-Type', 'application/javascript')
  8. response.write('amount.innerText = ' + amount)
  9. response.end()
  10. }
  11. ...
  1. JSONP。JSONP是实现跨域发起http请求的方式之一。由于同源策略,一般来说页面无法与非同源服务器进行沟通,但

发表评论

表情:
评论列表 (有 0 条评论,1446人围观)

还没有评论,来说两句吧...

相关阅读