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

Node.js返回JSONP詳解

 更新時(shí)間:2016年05月18日 15:55:53   投稿:jingxian  
下面小編就為大家?guī)硪黄狽ode.js返回JSONP詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

在使用JQuery的Ajax從服務(wù)器請求數(shù)據(jù)或者向服務(wù)器發(fā)送數(shù)據(jù)時(shí)常常會遇到跨域無法請求的錯(cuò)誤,常用的解決辦法就是在Ajax中使用JSONP。基于安全性考慮,瀏覽器會存在同源策略,然而<script/>標(biāo)簽卻具有跨域訪問數(shù)據(jù)的能力,這就是JSONP工作的基本原理。有關(guān)同源策略以及什么是JSONP。

在Node.js中實(shí)現(xiàn)JSONP非常簡單,通過下面的代碼我們從服務(wù)器返回并運(yùn)行一個(gè)JavaScript函數(shù),這個(gè)JavaScript函數(shù)已經(jīng)在調(diào)用方提前被定義好了,于是當(dāng)它被返回的時(shí)候就自動執(zhí)行了。

var express = require('express');
var router = express.Router();

router.get('/getinfo', function(req, res, next) {
 var _callback = req.query.callback;
 var _data = { email: 'example@163.com', name: 'jaxu' };
 if (_callback){
   res.type('text/javascript');
   res.send(_callback + '(' + JSON.stringify(_data) + ')');
 }
 else{
   res.json(_data);
 }
});

module.exports = router;

代碼中必須規(guī)定從服務(wù)器返回?cái)?shù)據(jù)的類型,代碼res.type('text/javascript')被加在返回的數(shù)據(jù)之前用于告訴瀏覽器這是一段JavaScript代碼。

前端頁面通過JQuery調(diào)用:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>jsonp test</title>
  <script src="/bower_components/jquery/dist/jquery.js"></script>
</head>
<body>
  <input type="button" value="click" id="btn">
  <script type="text/javascript">
    $(function(){
      $('#btn').on('click', function(){
        $.get('http://anothersite/api/getinfo', function(d){
          console.log(d);
        }, 'jsonp');
      });
    });
  </script>
</body>
</html>

運(yùn)行代碼,點(diǎn)擊按鈕,在瀏覽器的console面板總我們可以看到從遠(yuǎn)程服務(wù)器返回的json對象。

以上這篇Node.js返回JSONP詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在Node.js中使用HTTP上傳文件的方法

    在Node.js中使用HTTP上傳文件的方法

    這篇文章主要介紹了在Node.js中使用HTTP上傳文件的方法,作者以windows下的visual studio作為操作node的環(huán)境,推薦閱讀!需要的朋友可以參考下
    2015-06-06
  • nodejs讀取本地mp3和mp4等媒體文件并播放的案例

    nodejs讀取本地mp3和mp4等媒體文件并播放的案例

    fs模塊是nodejs官方提供用來操作文件的模塊,下面這篇文章主要給大家介紹了關(guān)于nodejs讀取本地mp3和mp4等媒體文件并播放的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 學(xué)習(xí)Nodejs之fs模塊的使用詳解

    學(xué)習(xí)Nodejs之fs模塊的使用詳解

    這篇文章主要為大家詳細(xì)介紹了Nodejs之fs模塊的使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Node.js應(yīng)用設(shè)置安全的沙箱環(huán)境

    Node.js應(yīng)用設(shè)置安全的沙箱環(huán)境

    這篇文章主要介紹了Node.js應(yīng)用設(shè)置安全的沙箱環(huán)境的方法以及注意事項(xiàng),對此有需要的朋友可以參考學(xué)習(xí)下。
    2018-04-04
  • nodejs實(shí)現(xiàn)解析xml字符串為對象的方法示例

    nodejs實(shí)現(xiàn)解析xml字符串為對象的方法示例

    這篇文章主要介紹了nodejs實(shí)現(xiàn)解析xml字符串為對象的方法,涉及nodejs針對xml格式字符串的解析與轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • 如何使用axios庫在Node.js中進(jìn)行代理請求(實(shí)踐案例)

    如何使用axios庫在Node.js中進(jìn)行代理請求(實(shí)踐案例)

    axios是一個(gè)強(qiáng)大的基于Promise的HTTP客戶端,它在瀏覽器和Node.js環(huán)境中均可使用,本文將介紹如何充分利用axios庫,在Node.js中進(jìn)行代理請求的最佳實(shí)踐,并通過一個(gè)實(shí)際案例來展示其應(yīng)用,感興趣的朋友一起看看吧
    2024-03-03
  • Node.js高級編程之UDP可靠性分析

    Node.js高級編程之UDP可靠性分析

    這篇文章主要為大家介紹了Node.js高級編程之UDP可靠性分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • KOA+egg.js集成kafka消息隊(duì)列的示例

    KOA+egg.js集成kafka消息隊(duì)列的示例

    這篇文章主要介紹了KOA+egg.js集成kafka消息隊(duì)列的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • node.js 微信開發(fā)之定時(shí)獲取access_token

    node.js 微信開發(fā)之定時(shí)獲取access_token

    本文給大家分享的是在使用node.js做微信開發(fā)的過程中如何定時(shí)獲取access_token的方法,有需要的小伙伴可以參考下
    2020-02-02
  • puppeteer庫入門初探

    puppeteer庫入門初探

    這篇文章主要介紹了puppeteer庫入門初探,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01

最新評論

堆龙德庆县| 晋州市| 县级市| 自治县| 泸溪县| 兴隆县| 潮州市| 称多县| 武宁县| 旬阳县| 岚皋县| 荥阳市| 东辽县| 仙居县| 灵寿县| 龙里县| 长岭县| 鄂尔多斯市| 宣城市| 万年县| 涡阳县| 化州市| 古浪县| 社会| 安化县| 湟源县| 峡江县| 安泽县| 惠水县| 大连市| 清水河县| 航空| 台州市| 庆阳市| 侯马市| 仪征市| 晋江市| 通渭县| 长白| 长汀县| 西平县|