JSONP和JQuery实现跨域

跨域–非同源策略请求
协议 域名 端口号 三者都一样是同源 有一个不同就是跨域

解决方案:
JSONP + JQuery 的处理方式
先处理前端

  1. 在新建的html在页面引入JQuery
  2. 新建一个js文件 在html页面引入该js
  3. 在js文件中写入测试代码
$.ajax({
    url:'http:127.0.0.1:8001/list',
    method:'get',
    dataType:'jsonp',// 执行的是JSONP请求
    success:res=>{
      console.log(res)
    }
})

在这里插入图片描述

后端处理

  1. npm init 初始化
  2. 新建一个js文件 这里要用到express包 npm install express
  3. 启动一个服务 监听端口号
let express = require('express');
let app = express();

app.listen(8001,()=>{
    console.log('ok')
})
  1. 写一个接口处理 就是发送请求时的那个接口
app.get('/list',(req,res)=>{
    // 会通过callback传一个函数进来
    let {callback = Function.prototype} = req.query; // Function.prototype(默认值)是一个匿名空函数 执行没有什么效果
    let data = { // 服务端准备数据
        code:0,
        message:'shier'
    };
    res.send(`${callback}(${JSON.stringify(data)})`) // 服务端返回数据
})

在控制台输入 node serverJSONP 启动
会输出 ok
在这里插入图片描述
在浏览器打开你的html页面 能看到数据请求成功
在这里插入图片描述

缺点:JSONP只能处理GET请求 安全性也不是特别好

其他跨域方式:

CORS 跨域资源共享

http proxy 代理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值