专栏首页猿计划解决Ajax发送DELETE请求时后台无法接收到参数的问题(Restful风格)

解决Ajax发送DELETE请求时后台无法接收到参数的问题(Restful风格)

在AJAX发送DELETE请求的时候,会触发两次请求。

首先在js代码中是没调用两次的,所以并不是自己多调用了一次:

点开第一个请求可以看到是OPTIONS请求:

第二个请求才是DELETE请求:

这就导致了后台无法接收数据的问题。

第一种解决办法:(亲自测试成功) 前端:

$.ajax({
  url: '/cyberspace/vrv/event/delete/1002?startTime="2018-03-07 11:39:27"&userId=123456',
   type: "delete",
   contentType: "application/json",
   dataType: "json",
   success: function (msg) {
       console.log(msg);
   }
});

后端:

@DeleteMapping("/vrv/event/delete/{eventId}")

第二种解决办法:(我没有测试) 前端:

$.ajax({
            url: '/cyberspace/vrv/event/delete/1002',
            type: 'POST',
            data: {
                startTime: "2018-03-07 11:39:27",
                userId: 123456,
                _method: 'DELETE'
            },
            success: function (msg) {
                console.log(msg);
            }
        });

后端:

@RequestMapping(value = "/vrv/event/delete/{eventId}", method = RequestMethod.DELETE)

我解决的办法

前端原来的代码:

解决之后的:

后端代码:

使用@PathVariable("managerIdStr")来绑定要接收的数据

  @ApiOperation("删除管理员信息")
    @DeleteMapping("/delManagerUserById/{managerIdStr}")
    @ResponseBody
    public String delManagerUserById(@PathVariable("managerIdStr") String managerIdStr){

        System.out.println("要删除的ID:"+managerIdStr);
        if (managerIdStr==null || managerIdStr=="")
            return ResultUtils.ResultFail("参数不能为空");

        int s = managerUserService.delManagerUserById(managerIdStr);

        if(s<0)
            return ResultUtils.ResultFail("删除失败了");


        return new ResultUtils().ResultSuccess(null).toString();
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java虚拟机运行时数据区精华总结

    Java虚拟机由三个子系统构成,分别是类加载子系统,JVM运行时数据区和执行引擎组成.一个Class文件先要经过类加载器–>运行时数据区–>执行引擎最终才会被执...

    TrueDei
  • idea编译jdk8源代码出现Error:java: OutOfMemoryError: insufficient memory解决办法

    TrueDei
  • VMware15更新后克隆Centos7发现网卡起不来了

    TrueDei
  • NRedis-Proxy 高性能Redis 中间件服务原理解析

    受飞凡电商技术负责人刘兵先生的独家授权,在csdn博客我原创发表《NRedis-Proxy 高性能Redis 中间件服务》的架构原理,以及项目开源介绍。 一、...

    小程故事多
  • 理解BitMap算法的原理

    位图:一种常用的数据结构,代表了有限域中的稠集(dense set),每一个元素至少出现一次,没有其他的数据和元素相关联。在索引,数据压缩,海量数据处理等方面有...

    我是攻城师
  • 【SpringBoot系列05】SpringBoot之整合Mybatis

    【SpringBoot2.0系列02】SpringBoot之使用Thymeleaf视图模板

    yukong
  • 使用 Prometheus-Operator 监控 Calico

    Calico 中最核心的组件就是 Felix,它负责设置路由表和 ACL 规则等,以便为该主机上的 endpoints 资源正常运行提供所需的网络连接。同时它还...

    米开朗基杨
  • Python_查看sqlite3表结构,

    查看表结构:cursor.execute('PRAGMA table_info(表名)')

    py3study
  • 【SpringBoot2.0系列05】SpringBoot之整合Mybatis前言实现

    【SpringBoot2.0系列02】SpringBoot之使用Thymeleaf视图模板

    yukong
  • 最近PC界事件有感

    去电脑城,直接入手AMD Athlon64 3000+,主板是技嘉的一块C51(C51也是一款经典芯片,集成显卡的能力较以前有了很大的提升),还有一块双敏的76...

    libo1106

扫码关注云+社区

领取腾讯云代金券