博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
json和jsonp
阅读量:6471 次
发布时间:2019-06-23

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

1. json

json的全名是JavaScript Object Notation(js对象标记),也就是一种数据结构,多用于数据结构描述。

2. jsonp

jsonp的全称是json with padding(json的衬垫),就是对json数据做一下其他处理。

3. jsonp的由来

ajax不允许跨域请求,但是html有个漏洞就是带src标签的东西是可以跨域的,如

jsonp就是基于这个来实现的跨域请求。

4. jsonp前端原生实现

// index.html    
Document

5. jsonp后端实现

// index.jsvar http = require('http');http.createServer((req, res) => {  res.writeHead(200, {    'content-type': 'text/json;charset=utf-8'  });  var data = {    "name": "michael"  };  data = JSON.stringify(data);  //假设我们定义的回调函数名为cb  var callback = 'cb' + '(' + data + ');';  res.end(callback);}).listen(3000);

6. 运行

首先在index.js所在的文件夹下执行

node index.js

然后在index.html所在的文件夹下执行

http-server -p 4000

这样一个3000端口,一个4000端口,实现了跨域请求。此时打开index.html,会展示alert('michael')

7. 后记

以上只是简单实现,如果想在项目中大规模使用需要封装很多东西。如果在开发环境中使用完全可以使用代理服务器完成,如果真的有跨域的业务,这也是一种解决方案。

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

你可能感兴趣的文章
阿里宣布开源Weex ,亿级应用匠心打造跨平台移动开发工具
查看>>
Android项目——实现时间线程源码
查看>>
招商银行信用卡重要通知:消费提醒服务调整,300元以下消费不再逐笔发送短信...
查看>>
python全栈_002_Python3基础语法
查看>>
C#_delegate - 调用列表
查看>>
jQuery.extend 函数详解
查看>>
[转]Windows的批处理脚本
查看>>
多维数组元素的地址
查看>>
数据库运维体系_SZMSD
查看>>
福大软工1816 · 第三次作业 - 结对项目1
查看>>
selenium多个窗口切换
查看>>
静态库 调试版本 和发布版本
查看>>
JAVA中的finalize()方法
查看>>
慕课网学习手记--炫丽的倒计时效果Canvas绘图与动画基础
查看>>
==与equals()的区别
查看>>
基本分类方法——KNN(K近邻)算法
查看>>
在XenCenter6.2中构建CentOS7虚拟机的启动错误
查看>>
.NET Framework3.0/3.5/4.0/4.5新增功能摘要
查看>>
php中表单提交复选框与下拉列表项
查看>>
熟悉常用的Linux操作
查看>>