分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

原生的js实现jsonp的跨域封装

发布时间:2023-09-06 02:08责任编辑:胡小海关键词:jsjson跨域

一、原理

jsonp是利用浏览器请求script文件时不受同源策略的限制而实现的,伪造一个script标签,将请求数据的url赋值给script的src属性,并将该标签添加到html中,浏览器会自动发送请求,返回的一般时一段js代码,即函数的调用代码

该种跨域的请求方式需要后台配合返回响应的函数执行数据

二、封装代码

function jsonp (url, data, callback) { ???let scriptTag = document.createElement(‘script‘) ???let params = ‘‘ ???for (key in data) { ???????params += key + ‘=‘ + data[key] + ‘&‘ ???} ???params.length === 0 ? scriptTag.src = url + ‘?‘ + ‘fn=‘ + callback : scriptTag.src = url + ‘?‘ + params + ‘fn=‘ +callback ???document.querySelector(‘head‘).appendChild(scriptTag)}function myCallback(){ ???alert(‘success‘)} ???jsonp (‘123‘, {name:‘lhy‘}, ‘myCallback‘)

这里需要后台返回的参数名为fn

原生的js实现jsonp的跨域封装

原文地址:https://www.cnblogs.com/lhyhappy365/p/10159294.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved