vue-resource 实现get post jsonp请求

除了vue-resource之外, 还可以用AXIOS的第三方包来实现 数据的请求




    
    Title
    
    
    
    


JSONP原理
由于浏览器的限制, 不允许AJAX访问,协议不同,域名不同,端口号不同的数据接口,浏览器认为这种访问不安全
通过动态创建script标签的形式,当做引入脚本

当引入一个JS脚本的时候 会在请求的时候定义一个callback 后端帮我们把需要的数据当做参数传到这个callback函数中,然后在前台调用我们已经准备好的callback函数,通过参数 我们就能拿到后端传回来的数据

NODE代码

const http=require("http")
const urlModule=require("url")
const sever=http.createServer()
sever.on('request',function(req,res){
    //const url=req.url;
    const {pathname:url, query }=urlModule.parse(req.url,true)
    if(url ==='/getscript'){
        //拼接一个合法的JS脚本,这里拼接的是一个方法的调用
        //通过res.end发送给客户端
        var data={
            name:"xjj",
            age:18,
            gender:"女孩子"
        }
        console.log(query.callback)
        var scriptStr=`${query.callback}(${JSON.stringify(data)})`
        res.end(scriptStr)
        console.log(scriptStr)
    }else{
        res.end('404')
    }
})
sever.listen(3000,'127.0.0.1')

前端代码




    
    Title






你可能感兴趣的:(vue-resource 实现get post jsonp请求)