jsonp跨域请求原理

今天咱们讲讲jsonp跨域请求原理吧!

在进行网站开发的过程中经常会用到第三方的数据,但是由于同源策略的限制导致ajax不能发送请求,因此也无法获得数据。解决ajax的跨域问题有两种方法:
一、jsonp

二、XMLHttpRequest2中可以配合服务端来解决,在响应头中加入Access-Control-Allow-Origin:*

1、同源:

同源策略是浏览器的一种安全策略,所谓同源是指,域名,协议,端口号完全相同
  1.1目的:保护用户信息安全
  1.2限制:cookie、localStorage和IndexDB无法读取
  无法操作跨域的iframe里的dom元素
  ajax请求不能发送
2、跨域:

不同源则为跨域

(1) http://api.example.com/detail.html 不同源 域名不同
(2) https//www.example.com/detail.html 不同源 协议不同
(3) http://www.example.com:8080/detail.html 不同源 端口不同
(4) http://api.example.com:8080/detail.html 不同源 域名、端口不同
(5) https://api.example.com/detail.html 不同源 协议、域名不同
(6) https://www.example.com:8080/detail.html 不同源 端口、协议不同
(7) http://www.example.com/detail/index.html 同源 只是目录不同

3、jsonp原理:

其本质是利用了标签具有可跨域的特性,由服务端返回预先定义好的javascript函数的调用,并且将服务端数据以该函数参数的形式传递过来

4、案例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>后台获取的结果</h1>{{ result }}<h1>js直接获取结果</h1><input type="button" value="获取数据" onclick="getContent();" /><div id="container"></div><script src="/static/js/jquery-1.12.4.js"></script><script>function getContent(){/*                   ajax原生方式发送var xhr = new XMLHttpRequest();xhr.open('GET','http://wupeiqi.com:8001/jsonp.html?k1=v1&k2=v2');xhr.onreadystatechange = function(){console.log(xhr.responseText);};xhr.send();*//*                      var tag = document.createElement('script');tag.src = 'http://www.jxntv.cn/data/jmd-jxtv2.html?callback=list&_=1454376870403';document.head.appendChild(tag);document.head.removeChild(tag);*/$.ajax({url: 'http://www.jxntv.cn/data/jmd-jxtv2.html',   //江西电视台的urltype: 'POST',                                        //请求方式为POSTdataType: 'jsonp',                                  //数据格式为jsonpjsonp: 'callback',jsonpCallback: 'list'                              //表示url的callback等于list,会额外的通过url发过去})}function list(arg){console.log(arg);}</script>
</body>
</html>

今天就到 这儿吧!下课。。。。。

jsonp跨域请求原理相关推荐

  1. .net学习之母版页执行顺序、jsonp跨域请求原理、IsPostBack原理、服务器端控件按钮Button点击时的过程、缓存、IHttpModule 过滤器...

    1.WebForm使用母版页后执行的顺序是先执行子页面中的Page_Load,再执行母版页中的Page_Load,请求是先生成母版页的控件树,然后将子页面生成的控件树填充到母版页中,最后输出 2.We ...

  2. 深入理解jsonp跨域请求原理

    在进行网站开发的过程中经常会用到第三方的数据,但是由于同源策略的限制导致ajax不能发送请求,因此也无法获得数据.解决ajax的跨域问题有两种方法: 一.jsop 二.XMLHttpRequest2中 ...

  3. JSONP跨域的原理解析

    JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制,被称为"Same-Origin Policy"(同源策略). ...

  4. JSONP跨域的原理解析及其实现介绍

    JSONP 即 Json padding ,JSONP跨域GET请求是一个常用的解决方案,下面我们来看一下JSONP跨域是如何实现的,并且探讨下JSONP跨域的原理 JavaScript是一种在Web ...

  5. 轻松搞定JSONP跨域请求

    轻松搞定JSONP跨域请求 一.同源策略 要理解跨域,先要了解一下"同源策略".所谓同源是指,域名,协议,端口相同.所谓"同源策略",简单的说就是基于安全考虑, ...

  6. JS的jsonp是什么?5分钟学会jsonp跨域请求

    一.jsonp是什么? jsonp是解决跨域请求的一种技术.浏览器为了防止CSRF攻击会采用同源策略(协议/主机/端口均相同)限制,对非同源发起http请求(即跨域请求)会被浏览器阻止. 二.json ...

  7. 实现百度下拉菜单实例(利用jsonp跨域请求百度数据接口)

    JSONP:是JSON  with padding(填充式JSON或参数式JSON)的简写,它由两部分组成:回调函数和数据.回调函数是当响应到来时应该在页面中调用的函数,回调函数的名字一般是在请求中指 ...

  8. 【漏洞利用】JSONP跨域请求漏洞 挖掘、利用详解

    参考文章 轻松搞定JSONP跨域请求 jsonp跨域原理,使用以及同源策略 跨域漏洞丨JSONP和CORS跨域资源共享 Tag: Ref: [[019.同源策略]] 本片文章仅供学习使用,切勿触犯法律 ...

  9. JSONP跨域请求数据报错 “Unexpected token :”的解决办法

    原文  http://www.cnphp6.com/archives/65409 Jquery使用ajax方法实现jsonp跨域请求数据的时候报错 "Uncaught SyntaxError ...

  10. Jsonp 跨域请求实例

    Jsonp 跨域请求实例 关于jsonp的一个实例,其实自己也不是很了解,今天下午稍微研究了一下: 简单来说,jsonp就是为了两个不同网站之间数据传递而产生的,主要用于js脚本,因为浏览器本身是禁止 ...

最新文章

  1. RIPv1与RIPv2互通
  2. >mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied ,被mysql连接问题折磨到问题解决,分享
  3. 用Lucene建立搜索索引
  4. Eclipse在过去十年中的主要成就
  5. 更改文件和目录(及子目录)的拥有者
  6. 【ECCV2020】完整论文集part2
  7. 【毕业寄语】我们不缺少鼓励但却缺少了批评
  8. 5198.丑数III
  9. idea更新git报错master has no tracked branch
  10. 导入oracle 904,江湖救急..ora-904怎么处理?
  11. win10开热点后,手机连接显示IP配置失败(或显示正在连接中)
  12. 华为手机摄影入门到精通pdf_华为手机摄影从入门到精通
  13. 区块链技术在物联网中的应用概述
  14. android n miui 4s,小米Android 7.0升级:包含小米4c/4s/小米Note
  15. PTA基础编程题目集
  16. 【NOIP%你题】【线性筛】dun题解
  17. STM32F103芯片FSMC使用外扩SRAM芯片
  18. php 天干地支,PHP天干地支、生肖的生成
  19. nfcwriter下载 ios_龙族幻想全球iOS收入第8,闪耀暖暖跻身国内收入Top 10丨App Annie 8月指数...
  20. mybatis逆向工程使用的建议

热门文章

  1. 反向题在测试问卷信效度_问卷一定要做信度效度检验吗?如果含有多选题怎样做信度分析,请各位高手帮帮忙。...
  2. 数学建模:SPSS线性回归分析——逐步回归分析
  3. java助教_Java助教工作总结
  4. 摄影构图的几种基本方法
  5. 在项目中发现哪些经典bug?什么原因导致的?
  6. 迷信一把:三才数理吉凶
  7. Verilog学习之异步复位的串联T触发器设计
  8. Unity 本地化比较实用的实现方案
  9. 私有云部署和本地化部署有什么区别?
  10. C语言RGB转Lab色域