后端获取前端数据三种方式

@RequestParam

前端发出的请求:path?id=1;
@RequestMapper(value="path")
public void test(@RequestParam("id") int id){
	System.out.println(id);
}
获取前端传来的非json格式的数据
// 单个数据,@RequestParam中的值一定要与前端属性名一致
public void test(@RequestParam("name)" String name){
	System.out.println(params);
}

// 数组数据
@RequestMapper(value="path")
public void test(@RequestParam Map<String,Object> params){
	System.out.println(params);
}

@PathVariable

前端发出的请求:path/{id};
@RequestMapper(value="path/{id}")
public void test(@PathVariable("id") int id){
	System.out.println(id);
}

@RequestBody

获取前台出来的json格式的数据

$.ajax({
        type: 'POST',//方法类型
        url: url,
        contentType: 'application/json',
        data: {
        	"username":"小明",
        	"sex":"男",
        	"age":"18"
        },
        success: function (result) {
            if (result == 200) {
                $('#goodsModal').modal('hide');
                swal({
                    title: swlMessage,
                    type: 'success',
                    showCancelButton: false,
                    confirmButtonColor: '#1baeae',
                    confirmButtonText: '返回商品列表',
                    confirmButtonClass: 'btn btn-success',
                    buttonsStyling: false
                }).then(function () {
                    window.location.href = "/admin/goods";
                })
            } else {
                $('#goodsModal').modal('hide');
                swal(result.message, {
                    icon: "error",
                });
            }
            ;
        }
    });
// bean
public class User{
	private String username;
	private String sex;
		..
}

// Controller中代码片段
@RequestMapper(value="path/{id}",method = RequestMethod.POST)
public void test(@RequestBody User user){
	System.out.println(user);
}
要在 Django 后端获取前端 Vue 数据,有以下几种方法: 1. 发送 Ajax 请求 前端通过 Ajax 请求将数据发送到 Django 后端,Django 后端接收请求并处理数据。 Vue 代码: ``` axios.post('/api/data', { data: 'hello world' }) ``` Django 代码: ``` from django.http import JsonResponse def data(request): data = request.POST.get('data') # 处理数据 return JsonResponse({'message': 'success'}) ``` 2. 表单提交 前端通过表单提交将数据发送到 Django 后端,Django 后端接收请求并处理数据。 Vue 代码: ``` <form method="post" action="/api/data"> <input type="hidden" name="data" value="hello world"> <button type="submit">提交</button> </form> ``` Django 代码: ``` from django.http import JsonResponse def data(request): data = request.POST.get('data') # 处理数据 return JsonResponse({'message': 'success'}) ``` 3. WebSocket 使用 WebSocket 实时通信,前端通过 WebSocket 将数据实时发送到 Django 后端,Django 后端接收请求并处理数据。 Vue 代码: ``` const socket = new WebSocket('ws://localhost:8000/ws/') socket.onopen = () => { socket.send('hello world') } socket.onmessage = (event) => { // 处理数据 } ``` Django 代码: ``` import asyncio import websockets async def echo(websocket, path): async for message in websocket: # 处理数据 await websocket.send('success') start_server = websockets.serve(echo, 'localhost', 8000) asyncio.get_event_loop().run_until_complete(start_server) asyncio.get_event_loop().run_forever() ``` 需要注意的是,WebSocket 需要使用第三方库 `websockets`,需要安装。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值