一、JSON和JSONP

JSONP的全称是JSON with Padding,由于同源策略的限制,XmlHttpRequest只允许请求当前源(协议,域名,端口)的资源。如果要进行跨域请求,我们可以通过使用html的script标记来进行跨域请求,并在相应中返回要执行的script代码,其中可以直接使用JSON传递javascript对象。这种跨域的通讯方式成为JSONP。
由此我们可以看出两者的区别:
json: 一种轻量级的数据格式。
jsonp:为实现跨域,而采用的一种脚本注入方法。
备注:要了解更多json,可以参见我原先写的一篇介绍json的文章:《JSON那些事》
二、实现
为了简单起见,我们要读取数据都是
var data = {'name': 'jifeng', 'company': 'taobao'};
1. 服务器端代码:
var http = require('http');
var urllib = require('url');
var port = 10011;
var data = {'name': 'jifeng', 'company': 'taobao'};
http.createServer(function(req, res){
var params = urllib.parse(req.url, true);
console.log(params);
if (params.query && params.query.callback) {
//console.log(params.query.callback);
var str = params.query.callback + '(' + JSON.stringify(data) + ')';//jsonp
res.end(str);
} else {
res.end(JSON.stringify(data));//普通的json
}
}).listen(port, function(){
console.log('server is listening on port ' + port);
})
2. 游览器端代码,为方便起见,我直接用了jquery的方法
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<script type="text/javascript">
function get_jsonp() {
$.getJSON("http://10.232.36.110:10011?callback=?",
function(data) {
$('#result').val('My name is: ' + data.name);
});
}
</script>
<a href="javascript:get_jsonp();" rel="external nofollow" >Click me</a><br />
<textarea id="result" cols="50" rows="3"></textarea>
</body>
</html>
jquery中getJSON()方法可以参见:http://www.w3school.com.cn/jquery/ajax_getjson.asp
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# nodejs实现json和jsonp服务
# nodejs
# json
# jsonp
# nodejs读写json文件的简单方法(必看)
# 使用nodejs解析json数据
# Nodejs读取本地json文件
# 输出json数据接口方式
# 都是
# 并在
# 我们可以
# 用了
# 可以直接
# 可以看出
# 要了
# 我原
# 大家多多
# 只允许
# 先写
# 数据格式
# 为方便
# 游览器
# urllib
# log
# console
# taobao
# company
# require
相关文章:
免费视频制作网站,更新又快又好的免费电影网站?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
中山网站制作网页,中山新生登记系统登记流程?
如何快速完成中国万网建站详细流程?
北京专业网站制作设计师招聘,北京白云观官方网站?
如何快速生成可下载的建站源码工具?
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
江苏网站制作公司有哪些,江苏书法考级官方网站?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
如何配置支付宝与微信支付功能?
详解jQuery停止动画——stop()方法的使用
七夕网站制作视频,七夕大促活动怎么报名?
c++怎么用jemalloc c++替换默认内存分配器【性能】
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
开心动漫网站制作软件下载,十分开心动画为何停播?
导航网站建站方案与优化指南:一站式高效搭建技巧解析
定制建站流程步骤详解:一站式方案设计与开发指南
C#怎么使用委托和事件 C# delegate与event编程方法
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
如何零基础在云服务器搭建WordPress站点?
如何快速搭建高效WAP手机网站吸引移动用户?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
如何高效配置IIS服务器搭建网站?
网站制作新手教程,新手建设一个网站需要注意些什么?
如何选择服务器才能高效搭建专属网站?
如何用腾讯建站主机快速创建免费网站?
建站之星如何取消后台验证码生成?
c# 在ASP.NET Core中管理和取消后台任务
如何快速搭建FTP站点实现文件共享?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
电商平台网站制作流程,电商网站如何制作?
如何快速搭建高效WAP手机网站?
微课制作网站有哪些,微课网怎么进?
重庆市网站制作公司,重庆招聘网站哪个好?
如何高效搭建专业期货交易平台网站?
如何通过西部建站助手安装IIS服务器?
如何通过虚拟机搭建网站?详细步骤解析
制作网站公司那家好,网络公司是做什么的?
建站之星如何通过成品分离优化网站效率?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
广德云建站网站建设方案与建站流程优化指南
建站之星与建站宝盒如何选择最佳方案?
如何高效利用200m空间完成建站?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
5种Android数据存储方式汇总
,网页ppt怎么弄成自己的ppt?
网站制作员失业,怎样查看自己网站的注册者?
*请认真填写需求信息,我们会在24小时内与您取得联系。