博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsonp 解决跨域问题
阅读量:6912 次
发布时间:2019-06-27

本文共 958 字,大约阅读时间需要 3 分钟。

最近网站添加了搜索图书信息的功能,用到了豆瓣图书API:

https://api.douban.com/v2/book/search?q=${query}

直接输入需要搜索的信息,会出现跨域问题的错误警告,在 nginx 配置未成功,随即转用jsonp解决,相关函数如下:

// jsonp.jsexport function getJSONP(url, cb) {    if (url.indexOf('?') === -1) {        url += '?callback=responseHandler';    } else {        url += '&callback=responseHandler';    }    // 创建script 标签    var script = document.createElement('script');    // 在函数内部实现包裹函数,因为要用到 cb    // responseHandler 为全局变量    window.responseHandler = function (json) {        try {            cb(json)        } finally {            // 函数调用之后,移除对应的标签            script.parentNode.removeChild(script);        }    }    script.setAttribute('src', url)    document.body.appendChild(script);}

调用:

import { getJSONP } from "../../utils/jsonp";const onSearch = async (query) => {    const url = `https://api.douban.com/v2/book/search?q=${query}`;    getJSONP(url, e => {        // 回调函数        // e 为通过jsonp获取的数据        console.log(e)    })}

参考:

转载地址:http://vmicl.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
ppp链路的pap认证与chap认证的基本原理和配置
查看>>
[Java] 练习题004: 将一个正整数分解质因数
查看>>
速战速决---3小时快速搭建Exchange+SFB(2)
查看>>
关于VCPROJ文件的说明
查看>>
FreeBSD完全新手指南
查看>>
经典广域网技术详解
查看>>
升级Exchange Server 2010 到 SP3时报错
查看>>
Redis配置讲解
查看>>
每天看的资料总结
查看>>
【Python2】04、Python程序控制结构
查看>>
我的友情链接
查看>>
Aspect Oriented Programming杂谈
查看>>
拨开云计算迷雾,助力企业业务创新
查看>>
linux系统管理之单机系统管理 - 文件系统
查看>>
MongoDB的安装及PHP扩展安装
查看>>
寻找&删除大文件及大文件夹
查看>>
关于黑板的独特创意
查看>>
1003. Emergency
查看>>
内置函数
查看>>