271507 2022-02-22 16:02 采纳率: 64.3%
浏览 14

用Restful风格重写以前的代码,各种请求方式搞不懂

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图

这是之前的代码,能够正常运行,但是现在回过头来看我也有点搞不懂为什么这个Mid能传到后端,是因为在这个ajax里的data后端接收到根据Mid,直接传到参数列表里吗

function deleteMedicine(Mid) {
        if (sure() == false)
            return;
        $.ajax({
            url: 'deleteMedicine',
            type: "get",
            data: {"Mid": Mid},
            dataType: "json",
            success: function (json) {
                if (json.state == 200) {
                    alert("删除成功!")
                    showMedicineList(json)
                } else {
                    alert("删除失败!")
                }
            },
            error: function (json) {
                alert("删除失败")
            }
        })
    }

```java
    @GetMapping("deleteMedicine")
    @ResponseBody
    public JsonResult<PageInfo> deleteMedicine(int Mid){
        medicineService.deleteMedicineByMid(Mid);
        PageHelper.startPage(1,5);
        List<Medicine> data1 = medicineService.findMedicineList();
        PageInfo data = new PageInfo(data1);
        return new JsonResult<>(200,data);
    }



```javascript
    function deleteMedicine(Mid) {
        if (sure() == false)
            return;
        $.ajax({
            url: 'deleteMedicine/#{Mid}',
            type: "put",
            data: {"Mid": Mid},
            dataType: "json",
            success: function (json) {
                if (json.state == 200) {
                    alert("删除成功!")
                    showMedicineList(json)
                } else {
                    alert("删除失败!")
                }
            },
            error: function (json) {
                alert("删除失败")
            }
        })
    }


```java
    @PutMapping("deleteMedicine/{Mid}")
    @ResponseBody
    public JsonResult<PageInfo> deleteMedicine(@PathVariable("Mid") int Mid){
        medicineService.deleteMedicineByMid(Mid);
        PageHelper.startPage(1,5);
        List<Medicine> data1 = medicineService.findMedicineList();
        PageInfo data = new PageInfo(data1);
        return new JsonResult<>(200,data);
    }
这样写就报405,有点乱了

我把上面的get改成put,因为我的删除只是更新标记,就会报下面500的错,说Mid不能为null就是后端没有接收到,那我应该怎么让后端接收到

运行结果及报错内容

img

img

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • 芫尘梦 2022-02-22 16:41
    关注

    url: 'deleteMedicine/#{Mid}', 改成url: 'deleteMedicine/' + Mid, 试试

    评论

报告相同问题?

问题事件

  • 创建了问题 2月22日

悬赏问题

  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)