Django+Vue全栈开发项目入门(四)

news/2024/10/30 8:28:12/

前端和服务端进行接口交互是Web开发中的核心环节,它涉及数据的传输、处理和展示。

接口交互的基本概念

前端,即用户界面层,负责展示数据和接收用户输入;服务端(或称为后端),即服务器层,负责处理业务逻辑、数据库交互等任务。两者之间的有效交互,是确保应用顺畅运行的关键。

接口交互的关键技术

HTTP协议:前后端接口交互的基础是HTTP协议。HTTP是一种应用层协议,用于在Web上传输超文本和其他内容。它定义了客户端和服务器之间的请求和响应格式。

RESTful API:RESTful是一种网络应用程序的设计风格和开发方式,它基于HTTP协议,使用标准的HTTP方法和状态码,以及易于理解的URL结构来实现前后端之间的数据交互。RESTful API具有简洁、易用、可扩展性等优点。

JSON数据格式:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它易于人阅读和编写,同时也易于机器解析和生成。在前后端接口交互中,JSON格式的数据因其简洁和清晰的层次结构而成为理想的选择。

身份验证与授权:为了保证接口交互的安全性,通常需要使用身份验证和授权机制。身份验证用于验证用户的身份,确保用户是合法的;授权用于控制用户对资源的访问权限。常见的身份验证方式包括JWT(JSON Web Token)、OAuth等。

跨域问题的产生原因

跨域问题产生的主要原因是浏览器的同源策略。同源策略是一种安全机制,它限制了一个网页中的脚本只能访问与其来源相同的资源。这里的“来源”指的是协议、域名和端口三者都相同。如果前端页面尝试访问与其来源不同的资源(即跨域请求),浏览器就会阻止这个请求,从而引发跨域问题。

前后端如何进行接口联调?

1、阅读接口文档

2、配置接口地址

3、使用axios获取数据

4、将数据设置到型层

在前端的apis.js文件中创建用于访问服务端接口的变量

// 系统相关的接口
const SystemApis = {sliderListUrl:apiHost + "/system/slider/list/"
}// 景点相关的接口
const SightApis = {sightListUrl:apiHost + "/sight/sight/list/"
}// 对外暴露
export{SystemApis,SightApis
}

 并在vite,config.js文件中进行一些调整

const getBannerList = () =>{ajax.get(SystemApis.sliderListUrl).then(res => {// 将获取的轮播图数据给到响应对象bannerList中来bannerList.value = res.data.objects// 控制台输出响应对象中的数据,测试是否获取到接口返回的数据// console.log(bannerList.value)})
}

 

在vue文件中导入所需工具 

import {ajax} from '@/utils/ajax'  //获得axios对象 异步请求对象
import { onMounted,ref } from 'vue'
import { SystemApis } from '@/utils/apis'  // 获得访问目标()

创建列表用于存放接口返回的数据

const bannerList = ref([])

访问接口获取数据

const getBannerList = () =>{ajax.get(SystemApis.sliderListUrl).then(res => {// 将获取的轮播图数据给到响应对象bannerList中来bannerList.value = res.data.objects// 控制台输出响应对象中的数据,测试是否获取到接口返回的数据// console.log(bannerList.value)})
}

页面元素加载前调用getBannerList函数

onMounted(()=>{getBannerList()
})


http://www.ppmy.cn/news/1543051.html

相关文章

DIY可视化-uniapp悬浮菜单支持拖动、吸附-代码生成器

在Uniapp中,悬浮菜单支持拖动和吸附功能,可以为用户带来更加灵活和便捷的操作体验。以下是对这两个功能的详细解释: 悬浮菜单支持拖动 提高用户体验:用户可以根据自己的需要,将悬浮菜单拖动到屏幕上的任意位置&#x…

Azure 将文本转换为语音

注意:只需要使用 speech 语音服务,不用Azure OpenAi 环境变量 setx SPEECH_KEY your-key setx SPEECH_REGION your-region 需要安装库 pip install azure-cognitiveservices-speech import os import azure.cognitiveservices.speech as speechsdk#…

如何对 Elasticsearch、Filebeat、Logstash、Kibana 深度巡检?

在运维和开发中,确保 Elasticsearch、Filebeat、Logstash、Kibana(简称 EFLK)集群的稳定运行至关重要。 本文将详细介绍一套深度巡检方案,包括各组件的监控方法、健康状态检查、性能指标监控,以及一些关键的 DSL 查询示…

golang switch v := data.(type)

在 switch v : data.(type) 语句中,case 后面的类型是用来匹配 data 的实际类型,而不是匹配 v 的值。这里的类型匹配是在运行时进行的。 让我通过一个例子详细解释: func explainTypeSwitch(data interface{}) {// 这里的 data.(type) 是获…

安装双系统后ubuntu无法联网(没有wifi标识)网卡驱动为RTL8852BE

安装双系统后ubuntu没有办法联网,(本篇博客适用的版本为ubuntu20.04)且针对情况为无线网卡驱动未安装的情况 此时没有网络,可以使用手机数据线连接,使用USB共享网络便可解决无法下载的问题。 打开终端使用命令lshw -C …

PART 1 数据挖掘概论 — 数据挖掘方法论

目录 数据库知识发掘步骤 数据挖掘技术的产业标准 CRISP-DM SEMMA 数据库知识发掘步骤 数据库知识发掘(Knowledge Discovery in Database,KDD)是从数据库中的大量数据中发现不明显、之前未知、可能有用的知识。 知识发掘流程(Knowledge Discovery Process)包括属性选择…

CSP/信奥赛C++刷题训练:经典前缀和例题(2):洛谷P6568:水壶

CSP/信奥赛C刷题训练:经典前缀和例题(2) [NOI Online #3 提高组] 水壶 题目描述 有 n n n 个容量无穷大的水壶,它们从 1 ∼ n 1\sim n 1∼n 编号,初始时 i i i 号水壶中装有 A i A_i Ai​ 单位的水。 你可以进行…

【SSM详细教程】-14-SpringAop超详细讲解

精品专题: 01.《C语言从不挂科到高绩点》课程详细笔记 https://blog.csdn.net/yueyehuguang/category_12753294.html?spm1001.2014.3001.5482 02. 《SpringBoot详细教程》课程详细笔记 https://blog.csdn.net/yueyehuguang/category_12789841.html?spm1001.20…