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

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

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

一、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í)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

    Node.js?中的?RSA?加密、解密、簽名與驗證

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

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

    這篇文章主要介紹了Node.js入門筆記?之a(chǎn)sync模塊,async是一個異步處理模塊,主要有三個方式:串行無關(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對文件夾的操作,當(dāng)我們學(xué)習(xí)完文件夾的操作后結(jié)合文件的操作我們就可以真正的通過Node在日常的工作生活中解決許多和文件相關(guān)的問題,這篇文章我們將首先講解文件夾操作的幾個API,然后完成一下最常見的文件夾遞歸的操作,需要的朋友可以參考下
    2024-08-08
  • Node?Js開發(fā)環(huán)境的搭建全過程記錄

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

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

    詳解nodejs的express如何自動生成項目框架

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

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

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

    初識Node.js

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

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

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

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

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

最新評論

娄底市| 盐源县| 阿瓦提县| 宜川县| 灯塔市| 四川省| 墨竹工卡县| 堆龙德庆县| 舒城县| 西安市| 呈贡县| 当涂县| 麻江县| 敖汉旗| 吴川市| 灵石县| 横山县| 手游| 嵊州市| 井研县| 唐海县| 双城市| 太和县| 临清市| 左贡县| 瑞丽市| 洪洞县| 贡觉县| 乌拉特中旗| 南雄市| 高阳县| 武安市| 平泉县| 泰和县| 镇宁| 嘉善县| 阜阳市| 深泽县| 庆城县| 金川县| 拜城县|