最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年08月25日 14:55:07   作者:lengyuhong  
本篇文章主要介紹了用nodejs實(shí)現(xiàn)json和jsonp服務(wù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

一、JSON和JSONP

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

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

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

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

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

二、實(shí)現(xiàn)

為了簡(jiǎ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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解webpack打包nodejs項(xiàng)目(前端代碼)

    詳解webpack打包nodejs項(xiàng)目(前端代碼)

    這篇文章主要介紹了webpack打包nodejs項(xiàng)目(前端代碼),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • Node.js?中的?RSA?加密、解密、簽名與驗(yàn)證

    Node.js?中的?RSA?加密、解密、簽名與驗(yàn)證

    RSA加密算法因其非對(duì)稱的特性,廣泛應(yīng)用于數(shù)據(jù)的加密、解密、簽名和驗(yàn)證等安全領(lǐng)域,本文主要介紹了Node.js?中的?RSA?加密、解密、簽名與驗(yàn)證,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • Node.js入門筆記?之a(chǎn)sync模塊

    Node.js入門筆記?之a(chǎn)sync模塊

    這篇文章主要介紹了Node.js入門筆記?之a(chǎn)sync模塊,async是一個(gè)異步處理模塊,主要有三個(gè)方式:串行無關(guān)聯(lián)、并行無關(guān)聯(lián)?、串行有關(guān)聯(lián),文章圍繞主題展開更多的相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-06-06
  • 使用Node操作文件夾的常用API

    使用Node操作文件夾的常用API

    這篇文章我們將學(xué)習(xí)Node對(duì)文件夾的操作,當(dāng)我們學(xué)習(xí)完文件夾的操作后結(jié)合文件的操作我們就可以真正的通過Node在日常的工作生活中解決許多和文件相關(guān)的問題,這篇文章我們將首先講解文件夾操作的幾個(gè)API,然后完成一下最常見的文件夾遞歸的操作,需要的朋友可以參考下
    2024-08-08
  • Node?Js開發(fā)環(huán)境的搭建全過程記錄

    Node?Js開發(fā)環(huán)境的搭建全過程記錄

    這篇文章詳細(xì)介紹了腳手架工具在軟件開發(fā)中的作用,包括常見的腳手架工具、腳手架的基本能力、搭建腳手架的方法、commander命令參數(shù)處理工具的使用、模塊化拆分、下載遠(yuǎn)程倉庫代碼等,需要的朋友可以參考下
    2024-11-11
  • 詳解nodejs的express如何自動(dòng)生成項(xiàng)目框架

    詳解nodejs的express如何自動(dòng)生成項(xiàng)目框架

    本篇文章主要介紹了nodejs的express如何自動(dòng)生成項(xiàng)目框架,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Node.js?應(yīng)用探索文件解壓縮示例詳解

    Node.js?應(yīng)用探索文件解壓縮示例詳解

    這篇文章主要為大家介紹了Node.js?應(yīng)用探索文件解壓縮示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 初識(shí)Node.js

    初識(shí)Node.js

    本文主要是簡(jiǎn)單講訴了Node.js的介紹,安裝,希望對(duì)剛剛接觸Node.js的同學(xué)能有所幫助,有什么問題可以給我留言,一起學(xué)習(xí)進(jìn)步
    2014-09-09
  • 干凈卸載Windows的Node.js環(huán)境的方法

    干凈卸載Windows的Node.js環(huán)境的方法

    這篇文章主要介紹了如何干凈卸載Windows的Node.js環(huán)境的方法,文中通過圖文結(jié)合的方式講解的非常詳細(xì),對(duì)大家刪除Node.js環(huán)境有一定的幫助,需要的朋友可以參考下
    2025-01-01
  • 如何使用nvm實(shí)現(xiàn)nodejs版本管理(版本刪除,版本切換及版本添加)

    如何使用nvm實(shí)現(xiàn)nodejs版本管理(版本刪除,版本切換及版本添加)

    這篇文章主要給大家介紹了關(guān)于如何使用nvm實(shí)現(xiàn)nodejs版本管理(版本刪除,版本切換及版本添加)的相關(guān)資料,nvm是一個(gè)node版本管理工具,通過它可以安裝多種node版本并且可以快速、簡(jiǎn)單的切換node版本,需要的朋友可以參考下
    2023-10-10

最新評(píng)論

大关县| 临桂县| 包头市| 南雄市| 社会| 通许县| 库车县| 磐石市| 缙云县| 新昌县| 霸州市| 怀安县| 曲周县| 张北县| 阿图什市| 湖州市| 虹口区| 霸州市| 盐源县| 镇巴县| 安塞县| 远安县| 正宁县| 富蕴县| 龙胜| 达尔| 陆河县| 虞城县| 克什克腾旗| 嘉义市| 璧山县| 营口市| 盐源县| 吴桥县| 江口县| 东宁县| 怀集县| 临朐县| 伊宁县| 运城市| 山东省|