NodeJs 做一个简单排行榜链接,下载图片链接

const express = require('express');
const app = express();
const mysql = require('mysql');

app.all('*', function(req, res, next) {
	res.header("Access-Control-Allow-Origin", "*");
	res.header("Access-Control-Allow-Headers",
			"Origin, X-Requested-With, Content-Type, Accept");
	res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
	res.header("X-Powered-By", ' 3.2.1');
	next();
});
//连接mysql的信息
var connection = mysql.createConnection({
	host : '127.0.0.1',
	port : '3306',
	user : 'root',
	password : '密码',
	database : 'MyRank'
});

connection.connect();

connection.query('SELECT 1 + 1 AS solution', function(error, results, fields) {
	if (error)
		throw error;
	console.log('数据库连接成功');
});

// 时间
function formatDate() {
	var date = new Date();

	var year = date.getFullYear(), month = date.getMonth() + 1, // 月份是从0开始的
	day = date.getDate(), hour = date.getHours(), min = date.getMinutes(), sec = date
			.getSeconds();
	var newTime = year + '-' + month + '-' + day + ' ' + hour + ':' + min + ':'
			+ sec;
	return newTime;
}

//插入
app.get('/api/queryStatistics', function(req, res) {
    res.header("Content-Type", "application/json;charset=utf-8");
	// 查询语句
    var sql = "SELECT * FROM rank";
	
	connection.query(sql, function(error, results, fields) {
		if (error) {
			console.log('插入出错');
			res.end(JSON.stringify({}));
		}
		
		console.log('\n-------------------------- SELECT ----------------------------');
	    console.log(formatDate() + ":" + results);
		res.end(JSON.stringify(results));
	});
});

//查询全部表统计
app.get('/api/queryStatistics', function(req, res) {
    res.header("Content-Type", "application/json;charset=utf-8");
	// 查询语句
    var sql = "SELECT * FROM rank";
	
	connection.query(sql, function(error, results, fields) {
		if (error) {
			console.log('查询出错');
			res.end(JSON.stringify({}));
		}
		
		console.log('\n-------------------------- SELECT ----------------------------');
	    console.log(formatDate() + ":" + results);
		res.end(JSON.stringify(results));
	});
});

//查询name详情
app.get('/api/queryDetail', function(req, res) {
    res.header("Content-Type", "application/json;charset=utf-8");
    // 获取参数
    var id = req.query.name || '0';
    var params = [id];
	// 查询语句
	var sql = " SELECT * FROM rank where name = ? ";
	
	connection.query(sql, params, function(error, results, fields) {
		if (error) {
			console.log('查询出错');
			res.end(JSON.stringify({}));
		}
		
		console.log('\n-------------------------- SELECT ----------------------------');
	    console.log(formatDate() + ":" + results);
		res.end(JSON.stringify(results));
	});
});

app.listen(10003, function() {
	console.log('服务器启动: http://localhost:10003');
});

请求

ip = 'http://127.0.0.1:10003';
url: this.ip + '/api/queryStatistics';

this.httpSend({
            url: url,
        });

httpSend(options) {
        return new Promise((resolve, reject) => {
            var xhr = new XMLHttpRequest();
            xhr.onreadystatechange = function () {
                if (xhr.readyState === 4 && (xhr.status >= 200 && xhr.status < 300)) {
                    var res = JSON.parse(xhr.responseText);
                    resolve(res);
                }
            };
            xhr.timeout = options.timeout || 50000; // 5 seconds for timeout
            let method = options.method || 'GET';
            let url = options.url;
            options.data = options.data || {};
            if (method == 'get' || method == "GET") {
                console.log('url===>',url);
                xhr.open(method, url, true);
                xhr.send();
            } else {
                xhr.open(method, options.url, true);
                xhr.setRequestHeader("Content-type", "application/json;charset=utf-8");
                xhr.send(JSON.stringify(options.data));
            }
        });
    };

图片请求

const fs = require('fs');
const express = require('express');
const app = express();

//设置跨域访问
app.all('*', function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
    res.header("X-Powered-By",' 3.2.1');
    next();
});
//同一个目录下建一个ad文件夹放图片,
app.get('/ad/*', function (req, res) {
    res.sendFile( __dirname + "/" + req.url );
});

app.listen(10002, function() {
	console.log('服务器启动: http://localhost:10002');
});

请求url http://localhost:10002/ad/TestBanner.png 即下载名字是TestBanner的图片

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值