随笔 - 6,  文章 - 0,  评论 - 0,  阅读 - 3152
复制代码
import originJSONP from 'jsonp' // 引入 jsonp 模块

// 对外暴露方法 jsonp
// 通常传给服务端的 url 地址带参数 设计目的是希望有纯净的 url 参数通过 data 拼在 url 上面
export default function jsonp(url, data, option) {
  // url 没有 '?' 时需要加 '?'
  url += (url.indexOf('?') < 0 ? '?' : '&') + param(data)

  // 返回 promise
  return new Promise((resolve, reject) => {
    // 调用引入的 jsonp 模块 originJSONP
    originJSONP(url, option, (err, data) => {
      // err 如果不是 null 表示成功的
      if (!err) {
        resolve(data)
      } else {
        reject(err)
      }
    })
  })
}

// data 是一个对象 封装 data 使它遍历后放入 url 中
function param(data) {
  let url = ''
  // 通常 data 是一级的对象
  for (var k in data) {
    // 有时候 data 的值为 undefined
    // 所以不能直接加在 url 上面 设置 data 的值为 undefined 时设置为空
    let value = data[k] !== undefined ? data[k] : ''
    // ES6 语法
    url += `&${k}=${encodeURIComponent(value)}`
  }
  // 如果 url 有 data 需要把第一个 & 删除 如果没有返回空
  return url ? url.substring(1) : ''
}
复制代码

 

import originJSONP from 'jsonp' // 引入 jsonp 模块

// 对外暴露方法 jsonp
// 通常传给服务端的 url 地址带参数 设计目的是希望有纯净的 url 参数通过 data 拼在 url 上面
export default function jsonp(url, data, option) {
// url 没有 '?' 时需要加 '?'
url += (url.indexOf('?') < 0 ? '?' : '&') + param(data)

// 返回 promise
return new Promise((resolve, reject) => {
// 调用引入的 jsonp 模块 originJSONP
originJSONP(url, option, (err, data) => {
// err 如果不是 null 表示成功的
if (!err) {
resolve(data)
} else {
reject(err)
}
})
})
}

// data 是一个对象 封装 data 使它遍历后放入 url 中
function param(data) {
let url = ''
// 通常 data 是一级的对象
for (var k in data) {
// 有时候 data 的值为 undefined
// 所以不能直接加在 url 上面 设置 data 的值为 undefined 时设置为空
let value = data[k] !== undefined ? data[k] : ''
// ES6 语法
url += `&${k}=${encodeURIComponent(value)}`
}
// 如果 url 有 data 需要把第一个 & 删除 如果没有返回空
return url ? url.substring(1) : ''
}
posted on   渐行渐远ls  阅读(165)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示