nodejsのkoa 2--お願いします.
3764 ワード
nodejsのkoa 2–お願いします.
GET要求
koaでは、GET要求データrequestオブジェクト中のquery方法とquerystring方法があり、query方法はフォーマットされたパラメータを返します.querystring方法は要求文字列を返します.余計なことを言わないで、直接コードしてください.
app.jsに下記のコードを追加します.
POSTリクエスト
koaはpost要求パラメータの取得をパッケージ化していないので、元のnodejs要求オブジェクトreqによって、post要求データをstring(例えば、a=1&b=2&c=3)に解析して、stringをjson形式に解析する必要がある(例えば、{a”:1”、“b”:2”、“c”:3”)).
app.jsに下記のコードを追加します.
expressを使い慣れた私にとって、このようなpostはパラメータを獲得する方式が非常に不愉快です.幸いにも、koa-bodyparserの中間部品はこの問題を解決しました.
koa-bodyparser
インストール
npm i koa-bodyparser–save
app.jsにモジュールを導入する
ここで、koaの依頼方法を紹介しました.楽しくコードを書くことができます.次の編で、弟はkoaのエラー処理を記録します.
本文は手で打つだけです.不適切なところがあれば、メッセージをください.友達に助けがあれば、いいですね.ありがとうございます.
GET要求
koaでは、GET要求データrequestオブジェクト中のquery方法とquerystring方法があり、query方法はフォーマットされたパラメータを返します.querystring方法は要求文字列を返します.余計なことを言わないで、直接コードしてください.
app.jsに下記のコードを追加します.
router.get('/getData', async (ctx,next) => {
// request
let request = ctx.request;
let req_query = request.query; //
let req_querystring = request.querystring; //
//
let ctx_query = ctx.query;
let ctx_querystring = ctx.querystring;
let obj = {
req_query:req_query,
req_querystring:req_querystring,
ctx_query:ctx_query,
ctx_querystring:ctx_querystring
};
ctx.response.body = {status:200,msg:' get ',data:obj};
});
index.htmlにjqueryを導入します.jqueryのajaxを使って、次のコードを追加します.var getTest = () => {
$.ajax({
type:'GET',
url:'/getData?a=1&b=2&c=3',
dataType:'json',
success(data){
console.log(data);
},
error (err){
console.log(err);
}
});
}
//
プロジェクトを実行して、ボタンをクリックしてからコンソールからデータを印刷します.結果は次の通りです.POSTリクエスト
koaはpost要求パラメータの取得をパッケージ化していないので、元のnodejs要求オブジェクトreqによって、post要求データをstring(例えば、a=1&b=2&c=3)に解析して、stringをjson形式に解析する必要がある(例えば、{a”:1”、“b”:2”、“c”:3”)).
app.jsに下記のコードを追加します.
router.post('/postData',async (ctx,next) => {
let postData = await parsePostData(ctx);
console.log(postData);
ctx.response.body = {status:200,msg:' post ',data: postData};
});
// node POST
function parsePostData( ctx ) {
return new Promise((resolve, reject) => {
try {
let postdata = "";
ctx.req.addListener('data', (data) => {
postdata += data
})
ctx.req.addListener("end",function(){
let parseData = parseQueryStr( postdata )
resolve( parseData )
})
} catch ( err ) {
reject(err)
}
})
}
// POST JSON
function parseQueryStr( queryStr ) {
let queryData = {}
let queryStrList = queryStr.split('&')
console.log( queryStrList )
for ( let [ index, queryStr ] of queryStrList.entries() ) {
let itemList = queryStr.split('=')
queryData[ itemList[0] ] = decodeURIComponent(itemList[1])
}
return queryData
}
index.1に以下のコードを追加します.var postTest = () => {
let obj = {
name:' ',
description:' '
};
$.ajax({
type:'POST',
url:'/postData',
dataType:'json',
data:obj,
success(data){
console.log(data);
},
error (err){
console.log(err);
}
});
}
// post
運転します.ボタンを押すと次のようなデータが印刷されます.expressを使い慣れた私にとって、このようなpostはパラメータを獲得する方式が非常に不愉快です.幸いにも、koa-bodyparserの中間部品はこの問題を解決しました.
koa-bodyparser
インストール
npm i koa-bodyparser–save
app.jsにモジュールを導入する
//
const bodyParser = require('koa-bodyparser');
// app
app.use(bodyParser());
その後、postメソッドをrouter.post('/postData',async (ctx,next) => {
let postData = ctx.request.body;
ctx.response.body = {status:200,msg:' post ',data: postData};
});
このように簡単なのが多すぎて、目を楽しませてくれました.その結果は上のと同じです.ここで、koaの依頼方法を紹介しました.楽しくコードを書くことができます.次の編で、弟はkoaのエラー処理を記録します.
本文は手で打つだけです.不適切なところがあれば、メッセージをください.友達に助けがあれば、いいですね.ありがとうございます.