国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

用nodejs實現(xiàn)json和jsonp服務(wù)的方法

2019-11-19 15:40:26
字體:
供稿:網(wǎng)友

一、JSON和JSONP

JSONP的全稱是JSON with Padding,由于同源策略的限制,XmlHttpRequest只允許請求當(dāng)前源(協(xié)議,域名,端口)的資源。如果要進行跨域請求,我們可以通過使用html的script標(biāo)記來進行跨域請求,并在相應(yīng)中返回要執(zhí)行的script代碼,其中可以直接使用JSON傳遞javascript對象。這種跨域的通訊方式成為JSONP。

由此我們可以看出兩者的區(qū)別:

json: 一種輕量級的數(shù)據(jù)格式。

 jsonp:為實現(xiàn)跨域,而采用的一種腳本注入方法。

備注:要了解更多json,可以參見我原先寫的一篇介紹json的文章:《JSON那些事》

二、實現(xiàn)

為了簡單起見,我們要讀取數(shù)據(jù)都是

var data = {'name': 'jifeng', 'company': 'taobao'};

1. 服務(wù)器端代碼:

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中g(shù)etJSON()方法可以參見:http://www.w3school.com.cn/jquery/ajax_getjson.asp

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 镇原县| 苗栗市| 牡丹江市| 米泉市| 泰兴市| 丰顺县| 岳阳市| 昌平区| 封开县| 余姚市| 巨鹿县| 诸暨市| 土默特左旗| 区。| 阿巴嘎旗| 闵行区| 曲阳县| 饶阳县| 庆阳市| 乌什县| 鄯善县| 台东市| 沾益县| 南康市| 司法| 万载县| 象州县| 蒙山县| 南郑县| 利津县| 登封市| 年辖:市辖区| 威海市| 荃湾区| 南江县| 彩票| 铜梁县| 梨树县| 奇台县| 稷山县| 郸城县|