思路使用 OkHttp-Utils 的 post, 向服务器发送用户信息(JSON 模式)
云服务器使用 express 框架的 post 方法,获得 客户端 post 的信息:
这里分两部分讲:
- 客户端 okHttp-Utils 实现:
- 服务器 Node.js 代码部署:
注意:由于我在 Node.js 中是采用了表单的形式来接收数据,所以在 okHttp 中也应该上传表单.
以下是客户端 okHttp-Utils 实现:
代码语言:javascript复制 /** post 方法一:
* ( 使用 okHttpUtils )
*/
private void logIn(){
OkHttpUtils.post()//
.url("http://47.107.132.227/api/mysql/getifo")
.addParams("nickname","000")
.addParams("phone" ,mUserPhoneNumber.getText().toString())
.addParams("password",mUserPassword.getText().toString())
.addParams("avatar" ,"000")
// .headers(headers)//
.build()//
.execute(new StringCallback() {
@Override
public void onError(Call call, Exception e, int id) {
Toasty.error(LogUpActivity.this, "失败!请检查网络和输入格式 !-->" e.getMessage(), Toast.LENGTH_SHORT, true).show();
}
@Override
public void onResponse(String response, int id) {
Toasty.success(LogUpActivity.this, "欢迎加入我们!", Toast.LENGTH_SHORT, true).show();
}
});
}
以下是服务器 Node.js 代码部署:
这里记得添加 express mysql 等 npm 库依赖。
一、获得请求
代码语言:javascript复制var express = require('express');
var bodyParser = require('body-parser');
var fs = require('fs')
var app = express();
var urlParser = bodyParser.urlencoded({extended : false})//处理 url 表单内容
var jsonParser = bodyParser.json()//处理 json 数据
var multer = require('multer');
// get guests's informations, and put them into mysql
app.post('/api/mysql/getifo', urlParser, function (req, res){
var mysql = require('mysql');
// //创建云服务器连接
// var connection = mysql.createConnection({
// host : 'localhost',
// user : 'root',
// password : '',
// database : 'aliyun'
// });
// 创建本地连接
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'qaz123456',
database : 'users'
});
mysql = require('./mysql');
mysql.save(connection, res, req);
})
二、数据库操作
代码语言:javascript复制var mysql = require('mysql');
// 保存
var save = function save(connection, response, params){
// var myObj = JSON.parse((JSON.stringify(params)));
var myObj = {
"nickname" : params.body.nickname ,
"phone" : params.body.phone ,
"password" : params.body.password ,
"avatar" : params.body.avatar ,
};
// customers guests
var string = 'INSERT INTO customers(nickname,phone,password,avatar) VALUES(' '"' myObj.nickname '"' ',' '"' myObj.phone '"' ',' '"' myObj.password '"' ',' '"' myObj.avatar '"' ')';
//插入数据
connection.query(string, function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results);
response.end(JSON.stringify(results));
});
connection.end();
}
module.exports = {
save : save,
select : select,
outputall : outputall,
modify : modify,
deletes : deletes,
}
希望我的经验对你有帮助~~