>  기사  >  백엔드 개발  >  关于Node.js 接收 Http POST

关于Node.js 接收 Http POST

WBOY
WBOY원래의
2016-06-06 20:36:471072검색

是这样的
现在要用Android 传递 Http post 请求到 Node.js
以前我试过用PHP接收Http请求 , 它是这样子的:

<code>$data = $_POST['data'];
</code>

Android則是这样的

<code> HttpPost httpRequest = new HttpPost("192.168.1.174:3001");
 List<namevaluepair> params = new ArrayList<namevaluepair>();

 params.add(new BasicNameValuePair("data",etv.getText().toString()));

 try{
    httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
    HttpResponse httpResponse = new DefaultHttpClient()
                                    .execute(httpRequest);
    if (httpResponse.getStatusLine().getStatusCode() == 200){
        String strResult = EntityUtils.toString( httpResponse.getEntity() );
        Log.d("HTTP", strResult);
    }
 } catch (Exception e){
   e.printStackTrace();
 }
</namevaluepair></namevaluepair></code>

可是在Node.js 我该怎样做?
Node.js 带没有类似$_POST的方法?

回复内容:

是这样的
现在要用Android 传递 Http post 请求到 Node.js
以前我试过用PHP接收Http请求 , 它是这样子的:

<code>$data = $_POST['data'];
</code>

Android則是这样的

<code> HttpPost httpRequest = new HttpPost("192.168.1.174:3001");
 List<namevaluepair> params = new ArrayList<namevaluepair>();

 params.add(new BasicNameValuePair("data",etv.getText().toString()));

 try{
    httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
    HttpResponse httpResponse = new DefaultHttpClient()
                                    .execute(httpRequest);
    if (httpResponse.getStatusLine().getStatusCode() == 200){
        String strResult = EntityUtils.toString( httpResponse.getEntity() );
        Log.d("HTTP", strResult);
    }
 } catch (Exception e){
   e.printStackTrace();
 }
</namevaluepair></namevaluepair></code>

可是在Node.js 我该怎样做?
Node.js 带没有类似$_POST的方法?

支持楼上建议的使用Express,几行代码就可以搞定了

<code>var http = require("http");
var express = require("express");
var app = express();

app.post('/route_you_want', function(req, res){
    //你可以在这里处理post请求
    res.send("hello world");
    res.end();
});

http.createServer(app).listen(3000, function(){
    console.log("server start");
});
</code>

有 但是系统自带的post处理比较复杂 具体使用方法可以谷歌一下 推荐使用web框架,比如说express

单用express也不是很方便,题主还可以试试加上一个叫multer的中间件,今天刚试过,挺好用的

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.