Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了JSONP解析--可运行的代码大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

考虑到安全问题,一个域名的js只能发起对自己的域名的请求,否则就是跨站的,这是不被允许的。但是,标签script内加载的脚本是不受此限制的。有人因此hack出JSONP,利用这一个特点即可发起跨站的脚本请求,并传递跨站数据给客户端。本文对此技术验证。

我们会创建两个node服务,分别为8081、8082两个端口,扮演当前站点和跨域站点。假设我从服务器A加载一个HTML文件文件内通过脚本标签发起对跨域站点B的请求。B站希望返回数据{msg:1}给A站的客户端。

A站点。服务器文件home.js,提供静态首页服务

var express = require('express');
    var app = express();
    var path = require('path')
    var public = path.join(__dirname,'public')
    app.use('/',express.static(public))
    var server = app.listen(8081,function () {
      console.log("home site started ")
    })

B站点。提供JSONP服务。文件名为:cors.js

var express = require('express');
    var app = express();
    app.get('/jsonp/:callback',function (req,res) { 
      var callback = req.params.callback
      console.log(callback)
      res.end(callback+'({msg:1})');
    })
    var server = app.listen(8082,function () {
      console.log("CORS Server started")
    })

首页index.html:

<script>
    function cb(obj)
    {
        alert(obj.msg)
    }
</script>
<script src="http://localhost:8082/jsonp/cb" ></script>

启动服务器

node home.js
   node cors.js

访问localhost:81,看到一个对话框显示1。此时,B站返回的数据已经成功的传递给了A站的客户端。

完成。

大佬总结

以上是大佬教程为你收集整理的JSONP解析--可运行的代码全部内容,希望文章能够帮你解决JSONP解析--可运行的代码所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: