1. 程式人生 > >node 使用get和post向後臺請求資料的使用方式對比

node 使用get和post向後臺請求資料的使用方式對比

from:http://blog.csdn.net/u012251421/article/details/49493561

做過web開發的朋友對get和post 的請求的區別肯定十分了解,我就不多講述了。

下面主要介紹一下get和post請求在node中使用的不同

場景就是單純登入操作:傳遞兩個引數使用者名稱和密碼

get請求:

前臺:

[javascript] view plain copy
  1. function login() {  
  2.     var name = $('#name').val();  
  3.     var password = $('#password').val();  
  4.     if (!name || !password) {  
  5.         alert('使用者名稱和密碼都不能為空');  
  6.         return;  
  7.     }  
  8.     $.ajax(  
  9.         {  
[javascript] view plain copy
  1.             type: 'get',  
  2.             url: '/login',  
  3.             data: {  
  4.                 name: name,  
  5.                 password: password  
  6.             },  
  7.             dataType: 'json',  
  8.             success: function (data) {  
  9.                 if (data) {  
  10.                 }  
  11.             },  
  12.             error: function () {  
  13.                 alert('登入失敗!');  
  14.                 return;  
  15.             }  
  16.         });  
  17. }  

後臺:

[javascript] view plain
 copy
  1. var express = require('express');  
  2. var router = express.Router();  
  3. router.get('/login'function (req, res, next) {  
  4.     var name = req.query.name;  
  5.     var pass = req.query.password;  
  6.     console.log('name:' + name);  
  7.     console.log('pass:' + pass);  
  8.     if (name == 'sis' && pass == '1') {  
  9.         res.send('1');  
  10.     }  
  11.     res.end('is over');  
  12. });  

post請求:

前臺:

[javascript] view plain copy
  1. function login() {  
  2.     var name = $('#name').val();  
  3.     var password = $('#password').val();  
  4.     if (!name || !password) {  
  5.         alert('使用者名稱和密碼都不能為空');  
  6.         return;  
  7.     }  
  8.     $.ajax(  
  9.         {  
  10.             type: 'post',  
  11.             url: '/login',  
  12.             data: {  
  13.                 name: name,  
  14.                 password: password  
  15.             },  
  16.             dataType: 'json',  
  17.             success: function (data) {  
  18.                 if (data) {  
  19.                 }  
  20.             },  
  21.             error: function () {  
  22.                 alert('登入失敗!');  
  23.                 return;  
  24.             }  
  25.         });  
  26. }  

後臺:

[javascript] view plain copy
  1. var express = require('express');  
  2. var router = express.Router();  
  3. router.post('/login'function (req, res, next) {  
  4.     var name = req.body.name;  
  5.     var pass = req.body.password;  
  6.     console.log('name:' + name);  
  7.     console.log('pass:' + pass);  
  8.     if (name == 'sis' && pass == '1') {  
  9.         res.send('1');  
  10.     }  
  11.     res.end('is over');  
  12. });  
從文章中可以明顯看出get和post請求在node中區別,使用get請求時一定要使用get方法進行監聽,並且獲取傳遞過來的引數是要使用query,使用post請求時一定要使用post方法進行監聽,同時獲取資料是要使用body。至於為什麼這樣做我暫時不是很清楚,如果我搞清楚了會及時補充上去,歡迎大家補充。

順帶補充,還有一種方法傳遞引數給server,就是使用路徑的方式,可以利用web server的http routing來解析,常見於各種web Framework。這不算是傳統標準規範的做法,是屬於http routing的延伸使用

[javascript] view plain copy
  1. router.get('/login'function(req, res) {  
  2.     console.log(req.params.name);  
  3.     console.log(req.params.password);  
  4. });  
對於原博主最後的疑問,我的理解是post請求資料是放在body裡面的,get請求引數在url中,提供的query查詢方法。

相關推薦

node 使用getpost後臺請求資料的使用方式對比

from:http://blog.csdn.net/u012251421/article/details/49493561 做過web開發的朋友對get和post 的請求的區別肯定十分了解,我就不多講述了。 下面主要介紹一下get和post請求在node中使用的不同

php 實現http getpost(提交json資料請求

 介面,抓取資料經常用到 //$arr為提交的資料為json型別 預設 get function http_curl($url,$type='get',$res='json',$arr=''){ //1.初始化curl $ch = cu

C/C++使用libcurl庫發送http請求getpost可以用於請求html信息,也可以請求xmljson等串)

網絡連接 get 編譯 eas views vs2015 return tar linux C++要實現http網絡連接,需要借助第三方庫,libcurl使用起來還是很方便的 環境:win32 + vs2015 如果要在Linux下使用,基本同理 1,下載

getpost方法的請求區別

資源 update .cn 消息 1.2 長度限制 _id pro 顯示 get方法:一般用於獲取/查詢資源信息 1、不安全:get方法提交數據不安全,數據會在客戶端瀏覽器的地址欄上面顯示出來。 2、長度限制:get提交的數據限制在255個字符之內 get請求地址欄信息:

GETPOST兩種請求方法的區別(RFC翻譯)

  GET和POST方法是HTTP協議規定的。查了HTTP1.1的RFC,原文的專業性極強。下面是白話翻譯,歡迎補充和指錯。   GET方法就是檢索(以實體的形式)由請求uri所指定的資源。如果請求的uri指向資料產生的過程,應該把產生的資料應作為實體在響應中返回而不是源文字,除非原始檔指向輸出過

getpost的基本請求方法的區別

GET和POST是HTTP請求的兩種基本方法,要說它們的區別,接觸過WEB開發的人都能說出一二。 一、最直觀的區別: GET把引數包含在URL中,POST通過request body傳遞引數。 如果在面試中被問到這個問題,你的內心充滿了自信和喜悅。 你輕輕鬆鬆的給出了一個“標準

Django中使用ajax post後臺傳送資料時403 Forbidden (CSRF token missing or incorrect.):的解決辦法

在Django中使用ajax post向後臺傳送資料時會出現403 Forbidden (CSRF token missing or incorrect.): 的報錯。 第一種解決方法: 先看一下ajax的使用方法: $.ajax({ url: '{% url '

windows iis 禁用除了GETPOST之外的請求方法

代理服務器 實體 沒有 技術 RoCE ces ons 計算機管理 color 禁用除了GET和POST之外的請求方法通過HTTP謂詞禁用除了除了GET和POST之外http請求、HTTP 1.1 共8種請求方法分別是1 GET 請求指定的頁面信息,並返回實體主體。2

ajax中getpost兩種請求的區別

Ajax(Asynchronous Javascript And XML)即非同步JavaScript和XML,通過在後臺與伺服器進行少量資料交換,AJAX 可以使網頁實現非同步更新;這意味著可以在不重新載入整個網頁的情況下,對網頁的某部分進行更新(即區域性重新整理);而

jsp頁面後臺請求資料方式

 1.window.open(url); 開啟新的一個頁面進行請求。 2.windows.location.href 在當前頁面進行請求 3.$.ajax({   url:"/test/user/query?uid="+userName+"&userPass

vue.js中使用vueResource後臺請求資料時出現跨域訪問失敗的問題

最近學習了vue.js,打算試著寫一個個人部落格的系統,後臺使用的是pyramid框架,資料庫用的是mongoDB。 當我在一個單檔案元件中請求後臺提供的介面時,使用了vueResource提供的this.$http方法 出現了No 'Access-Control-All

laravel使用getpost方法提交匯出資料

今天在與前端對匯出資料的介面時,前端跟我說他那邊獲取了一堆亂碼的資料。但我記得我測試的時候用瀏覽器訪問是OK的。於是我找到原始碼,發現自己用的是post路由,就想到當初是因為資料安全而選擇post。所以寫法也要改。前面的安裝Excel元件就跳過哦,因為社群有教程

easyui combotree渲染時避免再次後臺請求資料

html: <table width="100%">   <tr style="font-size:14px;color:#555555;border-right:1px solid #bcd6ed;border-left:1px solid #bcd6

後臺發送http請求通用方法,包括getpost

util line 通用方法 返回 finall 6.0 val except ktr package com.examsafety.service.sh; import java.io.BufferedReader; import java.io.IOExceptio

ajax服務器發出getpost請求

-c 效果 doc 假設 orm php 感覺 包含 只需要 假設有個網站A,它有一個簡單的輸入用戶名的頁面,界面上有兩個輸入框,第一個輸入框包含在一個form表單裏用來實現form提交,第二個輸入框是單獨的、沒有包含在form裏,下面就用這兩個輸入框來學習下jQuery的

前段框架——Vue的getpost請求資料

 vue的get請求和post請求其實很簡單   1.首先我們要在編譯軟體的終端下輸入指令: npm install --save axios vue-axios 來下載兩個檔案。 2.其次,我們要在使用get,post請求的元件(xxx.vue)下匯入下載的檔案。 3.最後vu

Node.js中GetPost請求

   對於HTTP請求來說,我們通常使用的是Get和Post,除此之外還有put,delete等,而對於get來說,比較lightweight,只是對字串的傳輸,它會被新增到URL地址裡,屬於URL的一部分;而對於Post來說,就顯得重了一些,它的資料以包的形式存在,除了可以

vue中axios資料請求 getpost

axios(基於 promise 的 HTTP 庫) <script src="./vue.js"></script> <!-- 1. 引入axios檔案 --> <script src="./axios.js"></script&g

servlet獲取getpost請求資料方式

通用request.getParameter("age") get請求和post請求  都可以通過request.getParameter("age")方法獲取; get請求request.getQueryString() get請求可以通過request.getQ

表單中多個請求引數名字相同,伺服器到底獲取的是哪個請求引數的值,表單的actiongetpost提交方式的關係以及提交資料的不同點

直接看程式碼和截圖吧,程式碼中有註釋,還有文字說明!表單get提交和post提交,一個很大的不同點大家都應該知道,post提交,瀏覽器位址列中不會明文顯示,而get提交,瀏覽器位址列中會明文顯示,這不是我們今天討論的重點!今天討論的重點如下:1.表單中如果有2個控制元件的na