当前位置: 首页 > wzjs >正文

asp做网站 的pdf教程辽宁城乡建设招投标交易平台

asp做网站 的pdf教程,辽宁城乡建设招投标交易平台,延边州住房城乡建设局网站,商城app源码&#x1f9e0; 一、JSONP 是什么&#xff1f; 项目内容&#x1f4cc; 全称JSON with Padding&#x1f4cd; 用途跨域请求数据的一种方式&#xff0c;绕过同源策略&#x1f4e6; 本质通过 <script> 标签加载远程 JS 文件&#xff0c;这个文件执行一个回调函数并传入数据 …

🧠 一、JSONP 是什么?

项目内容
📌 全称JSON with Padding
📍 用途跨域请求数据的一种方式,绕过同源策略
📦 本质通过 <script> 标签加载远程 JS 文件,这个文件执行一个回调函数并传入数据

🔍 二、JSONP 工作原理(层层递进)

  1. 定义全局回调函数

    function jsonpCallback(data) { console.log(data); }
    
  2. 创建 <script> 标签并设置 src

    script.src = 'http://example.com/api?callback=jsonpCallback';
    
  3. 服务器响应 JavaScript 代码

    jsonpCallback({ name: "Tom" });
    
  4. 浏览器执行返回的代码

    • 调用了你定义的 jsonpCallback 函数
    • 参数就是服务端返回的数据 ✅

❌ 三、常见错误

错误原因解决方式
meta charset="UTF - 8"有空格,浏览器不识别改为 UTF-8
回调函数未定义或冲突多个请求使用相同名字封装自动生成函数名
无法处理失败请求script 无 onerror 支持使用 timeout 模拟失败处理

🔧 四、封装 JSONP 工具函数(现代化 Promise 版)

✅ 功能要点:

  • 支持 URL 和参数拼接
  • 自动生成唯一回调名
  • 超时处理
  • 自动清理 script 和回调函数
  • 支持 Promise,可以用 .thenasync/await

✅ 封装代码:

function jsonp(url, params = {}, timeout = 5000) {return new Promise((resolve, reject) => {const callbackName = `jsonp_cb_${Date.now()}_${Math.random().toString().slice(2)}`;params.callback = callbackName;const queryString = Object.entries(params).map(([key, val]) => `${encodeURIComponent(key)}=${encodeURIComponent(val)}`).join('&');const script = document.createElement('script');script.src = `${url}?${queryString}`;script.async = true;window[callbackName] = (data) => {clearTimeout(timer);resolve(data);cleanup();};const timer = setTimeout(() => {reject(new Error('JSONP request timeout'));cleanup();}, timeout);function cleanup() {script.remove();delete window[callbackName];}document.body.appendChild(script);});
}

✅ 使用示例:

jsonp('http://example.com/api', { foo: 'bar' }).then(data => console.log('成功获取数据:', data)).catch(err => console.error('失败:', err));

🚀 五、JSONP 的优劣对比

优势局限
兼容老浏览器、实现跨域只能 GET 请求
使用简单安全性差(可能被注入恶意代码)
不依赖 XMLHttpRequest不支持 HTTP 状态码、错误处理有限

🧩 六、扩展方向(可选封装能力)

  • 支持取消请求(Abort)
  • 支持 callback 参数名自定义(如 cbfunc
  • 支持多个 JSONP 同时请求(自动管理全局空间)


文章转载自:

http://O1s42s6f.prysb.cn
http://tUqkDIKp.prysb.cn
http://RjHo3O4T.prysb.cn
http://el82zBeG.prysb.cn
http://xtmKi7Yf.prysb.cn
http://QbxmsCZQ.prysb.cn
http://S1AyKgag.prysb.cn
http://4fo01oMu.prysb.cn
http://V5LdWTJu.prysb.cn
http://Qn55UKon.prysb.cn
http://XCGpyR7l.prysb.cn
http://rARWmKFL.prysb.cn
http://uv2h0AP8.prysb.cn
http://FIGalKCN.prysb.cn
http://krzdDmgq.prysb.cn
http://KDAqP3gj.prysb.cn
http://ii0mO4qd.prysb.cn
http://EKFZ0Fuq.prysb.cn
http://x1tCyN8P.prysb.cn
http://CT0b4F7c.prysb.cn
http://U4fmBkd1.prysb.cn
http://LvVrvm0s.prysb.cn
http://EEfTrc6c.prysb.cn
http://rdxY7vOs.prysb.cn
http://u7P6ZIQs.prysb.cn
http://zV7SNqHT.prysb.cn
http://4EUFYeei.prysb.cn
http://Ib5B0v8D.prysb.cn
http://w02Rbk1U.prysb.cn
http://a6wSQFKI.prysb.cn
http://www.dtcms.com/wzjs/681127.html

相关文章:

  • 奇趣统计网站谁做的网页美工设计心得体会
  • 官方网站建设步骤营销策略国内外文献综述
  • 犀牛网站建设公司91人才网赣州招聘网
  • 广州微网站建设案例学做档案类网站
  • 手机上怎么做网站创业南宁网络推广系统
  • 湖南响应式网站推荐wordpress login网址
  • 红河县网站建设全面加强基层基础建设
  • 网站设计公司营销crm系统广东建设网工程信息网站
  • 如何做外贸网站的推广宝安自适应网站建设
  • 大航母网站建设案例大航母网站建设流程
  • 有哪些漫画做的好的网站好什么软件可以做动漫视频网站
  • 网络域名的网站网站建设超链接制作
  • 查询网站建设合肥有哪些公司是做网站的
  • 乾县住房和城乡建设局网站网站除了做流量还需要什么
  • 企业怎样做网站做视频网站技术壁垒在哪里
  • 重庆多功能网站建设网页打不开的两种解决方法
  • 网站界面设计实训的意义好的网站2020
  • 如何在百度搜到自己的网站自己开一个网站要多少钱
  • 电子商务网站的推广方式免费企业网站cms系统
  • 网站建设价格标准渠道wordpress禁止新建
  • 单位网站建设与管理工程项目信息查询
  • cpm广告联盟平台seo体系网站的建设及优化
  • 坊子营销型网站建设企业信息发布系统
  • 建设科技网络网站的意义和目的确定网站建设目的
  • 网站系统建设需要什么网站流量所需的成本.
  • 网站充值接口怎么做中国公司黄页
  • 网站链接推广老榕树网站建设教学
  • 织梦微电影分享网站织梦整站源码南宁南宁做网站
  • 汕头网站建设策划网站超市安装
  • 盐城整站优化推荐网站建设案例