前后端分离面试题

本文介绍了同步与异步的概念,同步在等待响应时阻止用户操作,而异步允许页面部分刷新,常用于前端技术如AJAX。JSON是一种轻量级的数据交换格式,广泛用于前后端数据交互。RESTful开发风格规定了HTTP方法(GET、POST、PUT、DELETE)对应的操作,如GET用于查询,POST用于添加,PUT用于修改,DELETE用于删除。
摘要由CSDN通过智能技术生成

1. 什么是异步?

同步:

  • 用户发送请求,用户必须等待响应的返回不能做任何操作,当响应返回,整个页面会被完全刷新
  • 我们的表单提交 链接提交都属于同步请求

异步:

  • 用户发送请求,不需要等待响应的返回,返回之后不会造成这个页面的刷新,而仅仅是部分刷新
  • 异步技术又被称为 ajax 技术 全称 Asychronized Javascript And Xml
  • 异步技术使用的都是前端的基本技术,类似一个扩展
    • JavaScript 基本语法
    • xml 用来封装数据
    • json 用来传输数据链接前后端
    • html 渲染结构
    • css 渲染样式
    • jQuery自带功能强大的异步模块
  • 如果异步和同步写在一起,则异步根本不执行,仅仅支持同步

2.什么是 Json ?

  • 一种轻量级的数据交换格式,用来连接前后端技术,json目前是链接前后端的进行数据交互的首选技术
  • json格式 就是一种特殊的字符串,可以被后端和前端直接打印.
	{
           "id":1,
           "name":"甘雨",
           "age":3000
    }
  • json格式(站在后端角度)
    • map格式
    • {key1:value2,key2:value2}
    • key: 只能是字符串
    • value: java基本数据类型,String,null,集合,自定义类型
    • 基本上什么数据都可以封装在value中,只有 java.util.Date 不能直接封装在json中,java.sql.Date 可以直接封装
    • 数组格式
    • [value1,value2]
    • 基本上什么数据都可以封装在value中,只有 java.util.Date 不能直接封装在json中,java.sql.Date 可以直接封装

后端发送Json给前端

  • 后端如何发送Json,如何创建Json不是我们关心的
       //这里模拟后端发送过来一个json字符串
       	const | let text = {
           		"id":1,
           		"name":"胡桃",
           		"age":16    
       	}
       //这里把json字符串转换为对象
       const obj = JSON.parse(text)
       /* const obj = {
           		id:1,
           		name:'胡桃',
           		age:'16',
      	 }  */
    
  • 在一些前端框架中以上过程是自动的,jQuery Vue React Mock,也就是说发过来的json字符串, 已经通过 JSON.parse()给我们转换好了,我们直接用即可

前端发送Json给后端

        	const | let o = {
            		id:1,
            		name:'甘雨',
            		age:3000,
        	} 
        	//通过 JSON.stringify()字符串序列化则可以将 js数组或者js对象转换为标注格式的json字符串
        	let text = JSON.stringify(o)
        	//这个过程一般我们必须书写,只有Vue和axios支持自动转换
        	//转换结束格式如下 
        	/* {
            		"id":1,
           		"name":"甘雨",
            		"age":3000
        	}*/
  • JSON迄今为止作为首选的前后端交互手段,不支持注释
  • JSON毫无容错性
  •   //通过万能转换器,可以实现任意数据深拷贝
      let sj = JSON.parse(JSON.stringify(数据))
    

    3. 什么是RESTFul开发风格?

  • get
    • 进行查询操作,则使用get,不能向后端发送json,只能通过?传递值,最多2000个字符格式为?key=value&key2=value2
  • post
    • 进行添加操作,则使用post,可以通过?传值,也可以向后端发送json
  • put
    • 进行修改操作,则使用put,可以通过?传值,也可以向后端发送json
  • delete
    • 进行删除操作,则使用delete,不能向后端发送json,只能通过?传递值,最多2000个字符格式为?key=value&key2=value2
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值