跨域解决方案Jsonp原理解析
作者:lightbc 发布时间:2023-11-07 18:48:05
标签:跨域,解决,Jsonp
这篇文章主要介绍了跨域解决方案Jsonp原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1.什么是Jsonp?
Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据。
为什么我们从不同的域(网站)访问数据需要一个特殊的技术( JSONP )呢?这是因为同源策略。
同源策略,它是由 Netscape 提出的一个著名的安全策略,现在所有支持 JavaScript 的浏览器都会使用这个策略。
2.使用Jsonp优缺点
优点:
1.可以跨域请求数据,摆脱同源策略的限制。
2.对浏览器比较友好,尤其低版本浏览器。
缺点:
1.只支持GET请求。
2.无法对请求错误进行获取和处理。
3.安全性较差。无法防止页面的注入漏洞。
3.Jsonp具体实现
前端
$.ajax({
url: 请求的url,
type: "get",
dataType: "jsonp",
jsonp: "callBack",
success: function(data) {
//返回结果处理程序
}
});
后端
@RequestMapping(value = "getAllData",method = RequestMethod.GET)
@ResponseBody
public String getAllData(@RequestParam("callBack") String callBack){
return callBack+"("+JSON.toJSONString(this.infoService.getAllData())+")";
}
来源:https://www.cnblogs.com/lightbc/p/12316738.html


猜你喜欢
- 分页问题是一个非常普遍的问题,开发者几乎都会遇到,这里不讨论具体如何分页,说明一下Web方式下分页的原理。首先是查询获得一个结果集(表现为查
- 这里直接给出C#类成员一般初始化顺序:子类静态字段子类静态构造子类实例字段父类静态字段父类静态构造父类实例字段父类实例构造子类实例构造为什么
- dataGridView动态绑定数据1.动态绑定DataTable数据DataGridView dgv = new DataGridView
- 概要: ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-P
- 本文实例讲述了Android编程中的消息机制。分享给大家供大家参考,具体如下:在分析Android消息机制之前,我们先来看一段代码:publ
- 本文实例讲述了JAVA设计模式之备忘录模式。分享给大家供大家参考,具体如下:备忘录模式:又叫做快照模式,指在不破坏封装性的前提下,获取到一个
- 看效果由于web 经验弱爆- - 一开始我的思路是找事件,但是看了半天API 基本都是点击触摸,通过物理触发- -我居然忽略了生
- 本文以Android签名JKS格式的证书为例:package com.test;import java.io.FileInputStream
- Android中判断网络是否连接实例详解在android中,如何监测网络的状态呢,这个有的时候也是十分重要的,方法如下:public cla
- Android 帧动画的实例详解对于 Android 帧动画 大体上可以理解成 一张张图片 按一定顺序切换, 这样当连续几张图是一组动画时,
- 1.简单介绍一下NDK和JNINDK:NDK是Native Development Kit的缩写,是Google提供的一套工具集
- 本文实例讲述了C#实现的海盗分金算法。分享给大家供大家参考,具体如下:海盗分金的故事5个海盗抢到了100颗宝石,每一颗都一样的大小和价值连城
- 前言本文,将介绍如何通过Java后端程序代码在PDF中创建工具提示。添加工具提示后,当鼠标悬停在页面上的元素时,将显示工具提示内容。导入ja
- IO感觉上和多线程并没有多大关系,但是NIO改变了线程在应用层面使用的方式,也解决了一些实际的困难。而AIO是异步IO和前面的系列也有点关系
- 公司有个业务需要查出所有的用户权限分类,并将最后一层类别所包含的权限查出来。数据库说明,有一个parent_id 字段是最好的:、paren
- 任何Java代码都可以抛出异常,如:自己编写的代码、来自Java开发环境包中代码,或者Java运行时系统。无论是谁,都可以通过Java的th
- 一、一级缓存二级缓存的概念解释(1)一级缓存就是Session级别的缓存,一个Session做了一个查询操作,它会把这个操作的结果放在一级缓
- using System; using System.Collections.Generic; using
- 经典的排序算法有八种,分别为:冒泡排序选择排序插入排序归并排序希尔排序快速排序堆排序基数排序其中冒泡排序、选择排序、插入排序称为三大基本排序
- 依赖SpringBoot版本:2.4.2 <dependencies> &