一、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小时内与您取得联系。