REACT 前端界面提交
在react项目中安装代理中间件

setupProxy.js文件
const { createProxyMiddleware: proxy } = require('http-proxy-middleware')
module.exports = app => {
app.use('/v1', proxy({
target: 'http://localhost:8080',
changeOrigin: true,
pathRewrite: {}
}))
}
App.jsx文件
import React, { Component } from 'react'
import Adduser from './pages/Adduser'
export default class App extends Component {
render() {
return (
<div>
<Adduser />
</div>
)
}
}
index.js文件
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App'; ReactDOM.render(
<App />,
document.getElementById('root')
);
Adduser.jsx文件
import React, { Component } from 'react'
import '../assets/css/bootstrap.min.css'
import axios from 'axios'
export default class Adduser extends Component {
constructor(props) {
super(props);
this.state = {
// 用户数据源
userinfo: {
username: '',
password: '',
sex: '男',
hobbies: [],
intro: ''
}
}
// 建议以后写在这样,性能更好一次
this.setValue = this.setValue.bind(this)
this.dopost = this.dopost.bind(this)
}
// 默认处理的string类型 checkbox数组
setValue(evt) {
let value = evt.target.value
let name = evt.target.name
let type = evt.target.type
if ('checkbox' === type) {
// hobbies 数组
let tmpValue = this.state.userinfo[name]
tmpValue.push(value)
this.setState(state => state.userinfo[name] = tmpValue)
} else {
this.setState(state => state.userinfo[name] = value)
}
}
// 表单提交
async dopost() {
let userinfo = this.state.userinfo
let data = await axios.post('/v1/api/users',userinfo)
console.log(data)
}
render() {
let { userinfo } = this.state
return (
<div className="container">
<form>
<div className="form-group">
<label>账号:
<input type="text" name="username" className="form-control" value={userinfo.username} onChange={this.setValue} />
</label>
</div>
<div className="form-group">
<label>密码:
<input type="text" name="password" className="form-control" value={userinfo.password} onChange={this.setValue} />
</label>
</div>
<div className="form-group">
<div>性别:</div>
<div className="radio">
<label>
<input type="radio" name="sex" value='男' checked={userinfo.sex === '男' ? true : false} onChange={this.setValue} />
男
</label>
</div>
<div className="radio">
<label>
<input type="radio" name="sex" value='女' checked={userinfo.sex === '女' ? true : false} onChange={this.setValue} />
女
</label>
</div>
</div>
<div className="form-group">
<div>爱好:</div>
<div className="checkbox">
<label>
<input type="checkbox" name="hobbies" value="写代码" onChange={this.setValue} />写代码
</label>
</div>
<div className="checkbox">
<label>
<input type="checkbox" name="hobbies" value="看书" onChange={this.setValue} />看书
</label>
</div>
<div className="checkbox">
<label>
<input type="checkbox" name="hobbies" value="交友" onChange={this.setValue} />交友
</label>
</div>
</div>
<div className="form-group">
<div>简介</div>
<textarea className="form-control" name="intro" rows="3" value={userinfo.intro} onChange={this.setValue}></textarea>
</div>
<button type="button" onClick={this.dopost} className="btn btn-success">添加用户</button>
</form>
</div>
)
}
}
REACT 前端界面提交的更多相关文章
- 基于SqlSugar的开发框架循序渐进介绍(15)-- 整合代码生成工具进行前端界面的生成
在前面随笔<基于SqlSugar的开发框架循序渐进介绍(12)-- 拆分页面模块内容为组件,实现分而治之的处理>中我们已经介绍过,对于相关的业务表的界面代码,我们已经尽可能把不同的业务逻辑 ...
- Semantic UI – 完全语义化的前端界面开发框架
Semantic UI 是一个 UI 库,使前端开发更简单,更容易学习.Semantic UI 介绍了许多界面元素.在大多数情况下,只有你需要的元素建立一个自定义的构建可能是最好的. UI 组件分为四 ...
- <经验杂谈>前端form提交导出数据
之前在做列表的是总会遇到一些导出的功能,而在做导出的时候总是习惯于用get的方法将参数放在url上,这样一来就会有很多的弊端,一是url的参数长度有限,遇到有的参数很长的时候就会报错,二是也不太安全. ...
- servlet自动获取前端页面提交数据
servlet自动获取前端页面jsp提交数据 以下是本人在学习过程中,因前端页面提交参数过多,后台servlet封装实体类过于麻烦而写的一个工具类,应用于jsp/servlet数据提交后,基于MVC+ ...
- 从前端界面开发谈微信小程序体验
本文由云+社区发表 作者介绍:练小习,2011年加入搜狐,负责搜狐相册的产品策划与前端开发.2015年后加入腾讯 ISUX (社交用户体验设计部),目前主要负责腾讯云的UI开发工作,专注于人机交互,有 ...
- 瑞联科技:Pwp3框架 调用存储过程返还数据集合 到前端界面展示
一:代码结构: 1:Js 代码结构 2:Java 代码结构 二:前端界面展示效果 为了数据安全性:界面数据做了处理 三:全端代码展示 1:main.vop <html> <head& ...
- 【连载】Bootstrap开发漂亮的前端界面之插件开发
相关文章: 1.<教你用Bootstrap开发漂亮的前端界面> 2.<Bootstrap开发漂亮的前端界面之实现原理> 3.<Bootstrap开发漂亮的前端界面之自定义 ...
- 【连载】Bootstrap开发漂亮的前端界面之自定义右键菜单
连载: 1<教你用Bootstrap开发漂亮的前端界面> 2.<Bootstrap开发漂亮的前端界面之实现原理> 网页中的自定义右键菜单越来越普遍,自定义右键菜单可以增强用户体 ...
- Django中前端界面实现级联查询
Django前端界面实现级联查询 一.前端界面中 <span scope="col" colspan="6"> 院系:<select id=& ...
- Oracle number类型前端界面和数据库查询不一致 number精度问题
[发现问题] [问题分析] Ⅰ.在前端界面查询,发现了库存中存在这样的数量值.但是在数据库中查询时显示正常.即6.999999999999997 为 7. Ⅱ.至于这种小数产生,我以为是oracle存 ...
随机推荐
- 第五課-Channel Study TCP Listener & Web Service Listener
示例描述: 我们将研究如何获取相当常见的HL7 v2消息并将其映射到自定义Web Service接口服务.在许多实际情况下,当我们要连接到HIE,EMPI,数据仓库或数据存储库时,必须这样做.此用例说 ...
- 阿里云2020上云采购季,你最pick哪个产品组合?
阿里云2020上云采购季如火如荼进行中,活动还剩最后10天啦,你的云产品都买好了吗? 还没买的,还没逛的,请戳:https://www.aliyun.com/sale-season/2020/proc ...
- 怀里橘猫柴犬,掌上代码江湖——对话阿里云 MVP郭旭东
简介: 跟郭旭东聊过之后,我对程序员的敬佩又多一分.这个92年的开发者,难能可贵地兼备朝气蓬勃的技术能量与长远深刻的行业洞见.独自承担DevOps平台从0到1的所有工作,我打趣说超级开发者不过如此,他 ...
- 【深度】阿里巴巴万级规模 K8s 集群全局高可用体系之美
简介: 台湾作家林清玄在接受记者采访的时候,如此评价自己 30 多年写作生涯:"第一个十年我才华横溢,'贼光闪现',令周边黯然失色:第二个十年,我终于'宝光现形',不再去抢风头,反而与身边的 ...
- 记联软 UniAccess 导致 NSIS 安装包启动进程失效
本文记录联软 UniAccess 注入的 C:\Window\LVUAAgentInstBaseRoot\syswow64\MozartBreathCore.dll 导致 NSIS 安装包启动进程失效 ...
- 2019-8-31-NuGet-如何设置图标
title author date CreateTime categories NuGet 如何设置图标 lindexi 2019-08-31 16:55:58 +0800 2019-4-27 17: ...
- Pod入门知识(4)
一.Pod是什么? 官方文档:https://kubernetes.io/docs/concepts/workloads/pods/ Pod 是 Kubernetes 中的最小调度单元,k8s 是通过 ...
- Docker 之 Dockerfile
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明. 一.官方镜像 学习docker镜像的制作之前,先去看看官方的镜像是怎么制作的,查看官方dockerf ...
- python—CSV的读写
目录 csv文件 打开模式 1.写入数组类型数据 2.写入字典序列类型数据 3.csv的读取 csv文件 CSV是一种以逗号分隔数值的文件类型,在数据库或电子表格中,常见的导入导出文件格式就是CSV格 ...
- 04 elasticsearch学习笔记-Rest风格说明
目录 Rest风格说明 关于文档的基本操作 添加数据PUT 查询 修改文档 删除索引或者文档 Rest风格说明 Rest风格说明 method url地址 描述 PUT localhost:9200/ ...