资讯专栏INFORMATION COLUMN

借助node.js + mysql 学习基础ajax~

biaoxiaoduan / 2168人阅读

很多小白不知道ajax怎么学,所以就弄了个node后台模拟下基本的ajax请求。

环境要求是安装node~

先上linkMysql.js

var mysql = require("mysql")
var connection = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "", //自己数据库的密码
  database: ""//自己数据库的名称
})

function LinkMysql(tableName, key, value) {
  connection.connect()
  var data = ""
  var sql = "SELECT * FROM " + tableName +" where " + key + "=" + value
  console.log(sql)
  return new Promise(function(resolve,reject) {
    connection.query(sql, function(err, result) {
      console.log("--------------------------SELECT----------------------------");
      console.log(result);
      console.log("------------------------------------------------------------

");  
      resolve(result)
    })
  })
}

function cutMysql() {
  connection.end();
}

module.exports = {
  cutMysql,
  LinkMysql
}

主JS server.js,提供连接maysql和不连接mysql两种版本

var http = require("http")
var url = require("url");
var util = require("util");
var sqlFunc = require("./linkMysql.js");

// 不连接数据库操作
// var tempJson = [{
//   name: "巧克力",
//   price: 10
// },{
//   name: "薯条",
//   price: 20
// }]

http.createServer(function(req, res) {
  // 跨域处理
  res.setHeader("Access-Control-Allow-Origin", "*"); 
  res.setHeader("Access-Control-Allow-Headers", "X-Requested-With");
  res.setHeader("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
  res.setHeader("X-Powered-By"," 3.2.1");
  res.setHeader("Content-Type", "application/json");

  var reqUrl = req.url
  var mainPath = reqUrl.split("?")[0]
  var reqData = reqUrl.split("?")[1].split("=")

  if (mainPath == "/test") {
    sqlFunc.LinkMysql("goods_info", reqData[0], JSON.stringify(decodeURIComponent(reqData[1]))).then(function(val) {
      console.log("从数据库获取数据" + val)
      sqlFunc.cutMysql();

      res.writeHead(200, {"content-Type": "text/plain; charset=utf-8"});
      res.end(JSON.stringify(val));
    })
    // 不连接数据库操作
    // res.writeHead(200, {"content-Type": "text/plain; charset=utf-8"});
    // res.end(JSON.stringify(tempJson));
  } else {
    res.writeHead(404, {"content-Type": "text/plain; charset=utf-8"});
  }
  

}).listen(3000);

console.log("Server running at http://localhost:3000");

最后就是前端html页面了~test.html,用了原生写法,具体的就不讲了百度一大堆~




  
  
  
  Document


  
数据请求

命令行输入
node server.js 启动服务 刷新test.html页面就能拿到数据了~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/98400.html

相关文章

  • 全栈开发自学路线

    摘要:前言这里筑梦师是一名正在努力学习的开发工程师目前致力于全栈方向的学习希望可以和大家一起交流技术共同进步用简书记录下自己的学习历程个人学习方法分享本文目录更新说明目录学习方法学习态度全栈开发学习路线很长知识拓展很长在这里收取很多人的建议以后决 前言 这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程...

    galaxy_robot 评论0 收藏0
  • 全栈开发自学路线

    摘要:前言这里筑梦师是一名正在努力学习的开发工程师目前致力于全栈方向的学习希望可以和大家一起交流技术共同进步用简书记录下自己的学习历程个人学习方法分享本文目录更新说明目录学习方法学习态度全栈开发学习路线很长知识拓展很长在这里收取很多人的建议以后决 前言 这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程...

    Scorpion 评论0 收藏0
  • 后端知识点总结——NODE.JS基础

    摘要:后端知识点总结基础不是是一种软件开发平台,它的竞争对象历史第一次有一种语言可以通吃前后端网站阿里云镜像版本年初年中年底最新版本功能强大可靠,适合大型企业级项目简单易用适合互联网项目易用适合平台性能好适合服务器端密集型项目不适合密集型项目密集 后端知识点总结——NODE.JS基础 1.Node.js Node.js不是JS,是一种软件开发平台,它的竞争对象JSP/PHP/ASP.NET...

    Freeman 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<