简介 前后端分离&Ajax&node服务

﹏ヽ暗。殇╰゛Y 2023-07-04 14:19 47阅读 0赞

前后端不分离

先简单说一下前后端不分离的情况,有跳转页面(有历史记录)。

  1. 1、页面
  2. <form action="http://localhost:4001" method="GET">
  3. <input type="text" name="user">
  4. <input type="submit">
  5. </form>
  6. 2node当中的服务
  7. var http=require("http");
  8. var server=http.createServer(function(req,res){
  9. req.on("data",function(){
  10. })
  11. req.on("end",function(){
  12. console.log(req.url); //请求的地址
  13. res.write("1001");
  14. res.end();
  15. })
  16. })
  17. server.listen(4001,"localhost",function(){
  18. console.log("服务开启了");
  19. })

结果:
1、a.js node服务,先开启服务
在这里插入图片描述
2、页面上的
在这里插入图片描述
点提交跳转(有历史记录):
在这里插入图片描述
终端有返回req.url 。

前后端分离 Ajax

指当前不跳转页面;客户端给服务端发送消息,服务端返回给原客户端;把这种方式称为前后端分离,所用到的技术就叫Ajax

  1. 1ajax.html ajax内容就这抹点儿
  2. var ajax = new XMLHttpRequest();
  3. ajax.addEventListener("load", loadHandler);
  4. ajax.open("GET", "http://localhost:4001?user=张三");
  5. ajax.send();
  6. function loadHandler(e) {
  7. console.log(ajax.response);
  8. }
  9. 2a.js node服务
  10. //node当中的服务
  11. // 加载http模块
  12. var http = require("http");
  13. //加载以下模块,解析字符串为对象
  14. var querystring = require("querystring");
  15. // 创建服务,参数是一个函数,函数中有两个参数
  16. // 1\req叫做请求,2\res就是响应
  17. var server = http.createServer(function (req, res) {
  18. // 请求消息接收数据的过程
  19. req.on("data", function () {
  20. //_data 接收的数据
  21. //on等同于addEventListener
  22. });
  23. // 请求消息接收数据完毕
  24. req.on("end", function () {
  25. //当事件结束后,执行的操作
  26. // console.log(req.url);//req.url请求的地址
  27. if (req.url.indexOf("favicon.ico") > -1) return; //favicon.ico图片文件 不处理
  28. var user = querystring.parse(req.url.split("?")[1]).user; //把?后的内容截取出来,第一项转化为对象,得到该对象的user属性
  29. res.writeHead(200, { //响应头 200-状态码-成功
  30. //要中文显示
  31. "content-type": "text/html;charset=utf-8",
  32. // 允许所有跨域请求,*是通配符
  33. "Access-Control-Allow-Origin": "*"
  34. })
  35. // 并且给返回消息写入信息;响应内容
  36. res.write(user + "今年18岁");
  37. // 结束发送;完成内容
  38. res.end();
  39. })
  40. });
  41. // 创建好的服务开启侦听,第一个参数是网络的端口号,第二个参数是网络的ip,第三个参数是开启后的回调函数
  42. server.listen(4001, "localhost", function () {
  43. console.log("服务已开启");
  44. })
  45. // 服务器的端口号,由当前文件决定

1、先开启node服务:
在这里插入图片描述
2、然后打开ajax.html页面,从控制台看到结果:
在这里插入图片描述

整理 node.js服务启动模板

只要内容有任何修改,就得重新启动模板。
模板,直接修改 req.on(“end”,function()中的内容即可。

  1. var http = require("http");
  2. var queryString=require("querystring");
  3. var server = http.createServer(function (req, res) {
  4. req.on("data", function () {
  5. });
  6. req.on("end", function () {
  7. var user = querystring.parse(req.url.split("?")[1]).user;
  8. //var obj=queryString.parse(req.url.split("?")[1]);//将字符串转化为对象
  9. res.writeHead(200, {
  10. "content-type": "text/html;charset=utf-8",
  11. "Access-Control-Allow-Origin": "*"
  12. })
  13. res.write(user + "今年18岁");
  14. res.end();
  15. })
  16. });
  17. server.listen(4001, "localhost", function () {
  18. console.log("服务已开启");
  19. })

遇到的问题

在这里插入图片描述
在响应头里添加”Access-Control-Allow-Origin”: “*”,意为允许所有跨域访问。
CORS:跨域资源共享 ,详细请看大神的”cors实现请求跨域“。

发表评论

表情:
评论列表 (有 0 条评论,47人围观)

还没有评论,来说两句吧...

相关阅读

    相关 前后分离

    、前后端分离的好处 (1)彻底解放前端 (2)提高工作效率,分工更加明确。 (3)局部性能提升 (4)降低维护成本 2、前后端分离的概念 后台只需要提供API接口,

    相关 前后分离

    什么是前后端分离 在搞清楚前后端分离的概念之前,先来弄清楚什么是非前后端分离。 在传统的做法里面,比如servlet,tomcat都会在后台运行java代码,然后再后

    相关 前后分离

    转自:https://www.jianshu.com/p/21775989ec46 自从AJAX大行其道,前后端分离开发模式已是大势所趋,这里笔者针对对前后端分离开发模式谈谈