【前端】三分钟浅谈解决跨域问题之JSONP请求

本文探讨了JSONP(JSON with Padding)这一跨域解决方案,解释了同源策略及其对非同源请求的影响。通过示例展示了JSONP的实现流程,包括创建全局接收函数、使用script标签发起请求以及服务端的响应处理。同时,对比了JSONP与AJAX请求的异同,指出JSONP的异步特性、仅支持GET请求以及不受同源限制的特点。
摘要由CSDN通过智能技术生成

何为JSONP

​ JSONP是JSON with Padding的略称,JSONP为民间提出的一种跨域解决方案,通过客户端的script标签发出的请求方式。

​ 那请求何必做得如此麻烦,直接使用ajax做请求岂不美哉,这里便要涉及到一个同源和跨域的问题,往下。

同源请求和跨域请求

同源策略,它是由Netscape网景公司提出的一个著名的安全策略。

​ 现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。

​ 而所有非同源的请求(即 域名,协议,端口 其中一种或多种不相同),都会被作为跨域请求,浏览器会将其非同源的响应数据丢弃。

​ 这里可以理解为是浏览器在搞事情,服务端确确实实有返回数据,浏览器接收到返回的数据,发现我们请求的是一个非同源的数据,浏览器再将其响应报文丢弃掉。

而通过一些标签发出的请求则不会被进行同源检查,比如script标签,img标签等等,本文讲述JSONP便是通过script标签做的请求。

JSONP的实现流程

图示:

在这里插入图片描述

流程:
  1. 在发请求先,准备一个全局的接收函数

    window.myCallback = (res)=>{
         			//声明一个全局函数 'callback',用于接收响应数据
        console.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值