首页 > 其他分享 >光速搭建前后端分离应用(最低限度代码量和依赖包)

光速搭建前后端分离应用(最低限度代码量和依赖包)

时间:2022-09-03 23:45:47浏览次数:61  
标签:xmlhttp 光速 url res js 限度 var http 搭建

环境搭建

安装Node.js + 任意浏览器

前端 index.html

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <script>
    function handleClick() {
      // 声明用于发送ajax请求的对象
      var xmlhttp;
      if (window.XMLHttpRequest) {
        //  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
        xmlhttp = new XMLHttpRequest();
      } else {
        // IE6, IE5 浏览器执行代码
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      // 成功返回后执行的代码
      xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
          document.getElementById("result").innerHTML = xmlhttp.responseText;
        }
      }
      // 填写http请求的方式和地址
      xmlhttp.open("GET", "http://localhost:8080/user", true);
      // 正式发送
      xmlhttp.send();
    }
  </script>
</head>

<body>

  <button type="button" onclick="handleClick()">发送请求</button>
  <div id="result">
    <h2></h2>
  </div>

</body>

</html>

后端 server.js

var http = require('http');
var url = require('url');

http.createServer((req, res) => {

  // 获取请求路径
  var pathname = url.parse(req.url).pathname;

  // 设置请求头
  res.writeHead(200, {
    // 设置返回格式为json
    'Content-Type': 'text/json',
    // 处理跨域问题
    'access-control-allow-origin': '*'
  });

  // 用switch实现路由
  switch (pathname) {
    case '/user':
      res.write('{"name":"Anna","age":"17"}');
      break;
    default:
      res.write('404');
  }

  // 返回response
  res.end();
}).listen(8080);

console.log('Server is running at http://127.0.0.1:8080');

运行

  • 后端:命令行用node执行server.js
  • 前端:浏览器打开index.js

说明

  • 最近在尝试 electron + vue + elementui + node 搭建桌面应用,遇到很多数据传递方面的问题,查来查去结果返璞归真了
  • 建议自己把这里面的代码全文背诵

标签:xmlhttp,光速,url,res,js,限度,var,http,搭建
From: https://www.cnblogs.com/whteway/p/16653985.html

相关文章