一看就懂:jsonp详解

yizhihongxing

一看就懂:jsonp详解

什么是JSONP

JSONP(JSON with Padding)是一种跨域的数据交互方式。它利用了script标签没有跨域限制的特点,通过动态创建script标签来请求服务器返回数据,并通过回调函数来处理返回的数据。

JSONP的原理

在客户端动态创建一个script标签,其中的src属性指向服务器端数据接口,并在接口地址中指定回调函数的名称,服务器接收到请求后,在处理完请求的数据后,再将数据作为参数传递给回调函数并返回给客户端。客户端通过全局函数来处理返回的数据。

JSONP的使用

在客户端中,需要定义一个全局函数接收从服务器返回的数据。然后动态创建一个script标签,将接口地址设置为其src属性,其中接口地址需要指定回调函数的名称,并将script标签添加到HTML文档中。

在服务器端,根据客户端传来的回调函数名称,将处理完数据后的结果直接返回给客户端,数据需要以指定回调函数的形式返回。

JSONP的示例

客户端代码示例

function callback(data) {
  console.log(data);
}

let script = document.createElement('script');
script.src = 'http://example.com/api/?callback=callback';
document.body.appendChild(script);

服务端代码示例

let data = {"name":"小明","age":18};
let callback = req.query.callback;
res.send(`${callback}(${JSON.stringify(data)})`);

以上是关于JSONP的完整攻略,通过此文你应该已经掌握了JSONP的原理和使用方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一看就懂:jsonp详解 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • Javascript Math min() 方法

    JavaScript中的Math.min()方法是用于返回一组数中的最小值的函数。以下是关于Math.min()方法的完整攻略,包含两个示例。 JavaScript Math对象的min()方法 JavaScript Math的min()方法用于返回一数中的最小。下面是min()方法的语法: Math.min([value1[,2 …]]]) 其中,va…

    JavaScript 2023年5月11日
    00
  • JavaScript函数、闭包、原型、面向对象学习笔记

    JavaScript函数学习笔记 什么是函数 函数是 JavaScript 中的一个代码块,它可以重复执行,并且可通过传入参数和返回值来实现对信息的处理和存储。 函数的定义方式 JavaScript 中有多种定义函数的方式,以下是其中常用的三种方式: 1. 函数声明 使用 function 关键字定义的函数,代码如下: function functionNa…

    JavaScript 2023年5月27日
    00
  • javascript获取当前的时间戳的方法汇总

    总结 获取当前时间戳是前端开发中常见的操作,通过JavaScript可以实现多种方式获取当前时间戳。本文将综合介绍一些获取当前时间戳的方法。 Date.now()方法 Date.now()方法是ECMAScript 5引入的方法。它返回的是当前时间距离Unix Epoch的毫秒数。Unix Epoch是1970年1月1日UTC的午夜,相当于这一时刻的时间戳为…

    JavaScript 2023年5月27日
    00
  • JS 中使用Promise 实现红绿灯实例代码(demo)

    下面是使用 Promise 实现红绿灯实例代码的攻略。 红绿灯实例代码 在使用 Promise 实现红绿灯实例代码之前,我们需要了解什么是红绿灯实例代码。红绿灯实例代码是一种模拟红绿灯闪烁的代码,通常用于展示 Promise 的作用。 以下是基于 Promise 实现红绿灯实例代码的完整攻略: 1. 创建 Promise 对象 在开始使用 Promise 实…

    JavaScript 2023年6月10日
    00
  • JavaScript for in

    JavaScript中的for in语句是一种循环结构,可以用来遍历对象的属性。该语句的基本语法如下: for (variable in object){ // 循环体代码 } 其中,variable表示每次循环中的变量名称,它将依次获取对象object的每一个属性名;而object则是需遍历的对象。 在每次循环中,variable会被赋值为对象object…

    Web开发基础 2023年3月30日
    00
  • JS模拟实现ECMAScript5新增的数组方法

    下面是JS模拟实现ECMAScript5新增的数组方法的完整攻略。 一、ECMAScript5新增的数组方法 ECMAScript5新增了一些数组方法,这些方法主要是用于对数组进行操作和 manipulation。常见的 ECMAScript5 数组方法包括以下几个: forEach():对数组中的每个元素都执行一次提供的函数。 map():返回一个由原数组…

    JavaScript 2023年5月27日
    00
  • JavaScript对JSON数组简单排序操作示例

    下面是针对“JavaScript对JSON数组简单排序操作”的完整攻略。 一、什么是JSON数组 JSON数组(JavaScript Object Notation Array)是一种数据格式,是JavaScript语言中的一种数据结构,它用于存储一组相关类型的数据,这些数据以键值对的形式存储,基本格式为:[key:value]。其中,键表示属性名称,值表示…

    JavaScript 2023年5月27日
    00
  • window.parent与window.openner区别介绍

    window.parent与window.opener区别介绍 在网页中经常出现需要进行页面跳转的情况,比如新窗口打开链接,或者在iframe中嵌入其他网页。在JavaScript中有两个常用的属性可用于控制页面跳转:window.parent和window.opener。在本文中,将详细介绍这两个属性的区别以及其应用场景。 window.parent wi…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部