Yolofyi's Guide
首页
  • 前端文章

    • JavaScript
    • HTML
    • CSS
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • Mysql

    • Mysql
  • Java

    • Java基础
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 助手
收藏
  • 分类
  • 标签
  • 归档

Yolofyi

船是自己,灯塔是自己,岸也是自己
首页
  • 前端文章

    • JavaScript
    • HTML
    • CSS
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • Mysql

    • Mysql
  • Java

    • Java基础
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 助手
收藏
  • 分类
  • 标签
  • 归档
  • HTML

  • CSS

  • JavaScript文章

    • 33个非常实用的JavaScript一行代码
    • new命令原理
    • ES5面向对象
    • ES6面向对象
    • 多种数组去重性能对比
    • 跨域 ajax 请求之 jsonp 原理解析
      • jsonp 本质上还是在页面中插入了个 js
      • 前端角度看 json 和 jsonp 差别
    • dexie数据库
    • JS随机打乱数组
    • 判断是否为移动端浏览器
    • 将一维数组按指定长度转为二维数组
    • 防抖与节流函数
    • JS获取和修改url参数
    • 比typeof运算符更准确的类型判断
  • 学习笔记

  • Electron

  • 前端
  • JavaScript文章
yolofyi
2023-07-24
目录

跨域 ajax 请求之 jsonp 原理解析

# jsonp 本质上是个 get 请求


也就是说在用 jquery 发送这个 jsonp 请求的时候,只要你指定了 dataType:'jsonp',那么你指定 type:'post'也是没用的,这个时候,这个请求肯定是 get 的,无视任何 post 设定。这个是新手非常容易忽略的一点。

# jsonp 本质上还是在页面中插入了个 js


jsonp 本质上是在当前页面上插入了个 js,然后执行了里面的函数,也就是说,即使你返回的数据里面并非我们仿造的 json 格式。是普通的 js 的话,也是会执行的。也就说,请求外站(不可信任站)的 jsonp,是个非常傻的行为。能用 json,就不用 jsonp,这个是出于安全角度提出的要求,新手们也一定要注意。
当然了,这点也可以拿来利用,修理那些非法盗数据的网站。怎么个修理法,你们自己想,提示就一点:jsonp 的内容会被当做个正常的 js 在对方页面上完全执行,无保留的执行(以后有空可以给大家写个案例)。甚至去做 xss,构造特殊函数,拿 cookie。

# 前端角度看 json 和 jsonp 差别


对于前端 来说,区别就一个字母。p,下面是相关代码 jquery 范例:

$.ajax({
   type : "get",
   async: false,
   url  : "youraction.php",
   dataType : "json",
   success  : function(json){
   },
   error:function(){
   }
});
1
2
3
4
5
6
7
8
9
10
上次更新: 2023/08/06, 22:51:57
多种数组去重性能对比
dexie数据库

← 多种数组去重性能对比 dexie数据库→

最近更新
01
MySQL开发规范及慢查询优化
08-25
02
linux增加swap交换空间
08-16
03
uni-app云打包Android Apk
08-13
更多文章>
| Copyright © 2022-2023 yolofyi.com - All rights reserved | 鄂ICP备2022003053号 |
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式