全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

用nodejs实现json和jsonp服务的方法

一、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 


相关文章: ,有什么在线背英语单词效率比较高的网站?  建站之星免费版是否永久可用?  建站之星北京办公室:智能建站系统与小程序生成方案解析  大型企业网站制作流程,做网站需要注册公司吗?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  网站制作软件有哪些,制图软件有哪些?  如何用wdcp快速搭建高效网站?  h5网站制作工具有哪些,h5页面制作工具有哪些?  香港服务器租用费用高吗?如何避免常见误区?  创业网站制作流程,创业网站可靠吗?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  昆明高端网站制作公司,昆明公租房申请网上登录入口?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  TestNG的testng.xml配置文件怎么写  如何用西部建站助手快速创建专业网站?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  建站之星免费模板:自助建站系统与智能响应式一键生成  如何在Windows服务器上快速搭建网站?  建站之星logo尺寸如何设置最合适?  如何在橙子建站上传落地页?操作指南详解  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在IIS中新建站点并配置端口与IP地址?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  定制建站模板如何实现SEO优化与智能系统配置?18字教程  如何通过建站之星自助学习解决操作问题?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  建站上传速度慢?如何优化加速网站加载效率?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  智能起名网站制作软件有哪些,制作logo的软件?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  孙琪峥织梦建站教程如何优化数据库安全?  Java解压缩zip - 解压缩多个文件或文件夹实例  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  如何在云指建站中生成FTP站点?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  广东专业制作网站有哪些,广东省能源集团有限公司官网?  如何获取免费开源的自助建站系统源码?  ,网站推广常用方法?  如何安全更换建站之星模板并保留数据?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  公司网站的制作公司,企业网站制作基本流程有哪些?  如何通过老薛主机一键快速建站?  建站之星安装路径如何正确选择及配置?  ,制作一个手机app网站要多少钱?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  如何获取上海专业网站定制建站电话?  家庭服务器如何搭建个人网站?  建站之星备案是否影响网站上线时间? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。