当前位置:主页 > nodejs教程 > 用nodejs实现json和jsonp服务的方法

nodejs实现json和jsonp服务的实例讲解

发布:2019-11-24 21:34:06 169


给大家整理一篇nodejs实例相关的编程文章,网友郑兴学根据主题投稿了本篇教程内容,涉及到nodejs、json、jsonp、用nodejs实现json和jsonp服务的方法相关内容,已被790网友关注,相关难点技巧可以阅读下方的电子资料。

用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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。


相关文章

  • iPhone手机上搭建nodejs服务器的具体方法

    发布:2019-12-06

    这篇文章主要介绍了iPhone手机上搭建nodejs服务器步骤方法,本文给出了详细的操作步骤以及操作命令,需要的朋友可以参考下


  • Python的标准模块包json的实例用法

    发布:2020-03-24

    这篇文章主要介绍了Python的标准模块包json详解的相关资料,需要的朋友可以参考下


  • SpringBoot前后端json数据交互的全过程记录

    SpringBoot前后端json数据交互的全过程记录

    发布:2022-09-23

    给网友朋友们带来一篇关于SpringBoot的教程,现在大多数互联网项目都是采用前后端分离的方式开发,下面这篇文章主要给大家介绍了关于SpringBoot前后端json数据交互的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下


  • JSON格式化输出示例效果

    发布:2020-02-01

    本文主要是记录一个项目中用到的对输出的json进行格式化的小技巧,也是看到一位朋友分享的,这里mark一下,有需要的小伙伴也可以参考下。


  • Springboot跨域访问不使用jsonp的简单方法

    发布:2020-01-01

    这篇文章主要介绍了Springboot 实现跨域访问 无需使用jsonp的实现代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下


  • NodeJs微信事件交互实例的详解

    发布:2019-11-15

    这篇文章主要介绍了使用NodeJs 开发微信公众号(三)微信事件交互实例的相关资料,需要的朋友可以参考下


  • 分享nodejs异步编程基础之回调函数用法

    发布:2020-02-03

    这篇文章主要介绍了nodejs异步编程基础之回调函数用法,结合具体实例形式分析了阻塞与非阻塞形式下回调函数具体功能、使用技巧,需要的朋友可以参考下


  • Node.js实现小说爬虫的实操方法代码

    发布:2019-08-03

    现在爬虫在很多web项目中都有应用,这篇文章主要介绍了Node.js 实现简单小说爬虫实例,有兴趣的可以了解一下。


网友讨论