麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

Node.js返回JSONP詳解

2019-11-20 10:00:38
字體:
來源:轉載
供稿:網友

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

在Node.js中實現JSONP非常簡單,通過下面的代碼我們從服務器返回并運行一個JavaScript函數,這個JavaScript函數已經在調用方提前被定義好了,于是當它被返回的時候就自動執行了。

var express = require('express');var router = express.Router();router.get('/getinfo', function(req, res, next) { var _callback = req.query.callback; var _data = { email: '[email protected]', name: 'jaxu' }; if (_callback){   res.type('text/javascript');   res.send(_callback + '(' + JSON.stringify(_data) + ')'); } else{   res.json(_data); }});module.exports = router;

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

前端頁面通過JQuery調用:

<!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>

運行代碼,點擊按鈕,在瀏覽器的console面板總我們可以看到從遠程服務器返回的json對象。

以上這篇Node.js返回JSONP詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色毛片视频在线观看 | 亚洲精品7777xxxx青睐 | 久久久久av电影 | 爱操av| 美女黄视频在线观看 | 欧美69free性videos| 黄色成年在线观看 | 免费午夜视频在线观看 | 毛片免费视频播放 | 永久免费av在线 | 91成人午夜性a一级毛片 | www深夜成人| 青草久久av| 久久久久久久国产视频 | 中文字幕综合在线观看 | 日本在线不卡一区二区 | 一区二区三区黄色 | 日韩av成人 | 国产小视频在线观看 | 欧美成在线视频 | 国产亚洲精品久久久久久久软件 | 一区二区国产在线 | 亚洲一区在线免费视频 | 精品在线视频观看 | av免费在线免费观看 | 欧美成年人在线视频 | 亚洲综合一区在线观看 | 一分钟免费观看完整版电影 | 国产午夜亚洲精品午夜鲁丝片 | 亚洲男人一区 | 高清视频91 | 欧美精品一区自拍a毛片在线视频 | 91美女福利视频 | 久久精品国产清自在天天线 | 欧美一级黄视频 | 欧美成年人视频在线观看 | 99ri在线| 色婷婷av一区二区三区久久 | 99在线精品视频免费观看20 | 99麻豆久久久国产精品免费 | 高清国产午夜精品久久久久久 |