看你笑 2018-09-20 06:38 采纳率: 0%
浏览 5204
已结题

$.ajax()传递参数后台controller接收不到的问题

我想通过Ajax传递一个Pojo给Controller,但是controller接收不到数据

    下面是Ajax代码片

 $.ajax({
        url: basePath + "update.action",
        method:"post",
        dataType:"json",
        contentType: "application/json",
        data:JSON.stringify({
            cookId: $("#edit_cook_id").val,
            cookName: $("#edit_cookName").val,
            cookFlavor: $("#edit_cookFlavor").val,
            cookRepertory: $("#edit_cookRepertory").val,
            cookPrice: $("#edit_cookPrice").val,
            cookType: $("#edit_cookType").val
        }),
        success: function (data) {
            if (data > "0") {
                alert("客户信息更新成功!");
            } else {
                alert("客户信息更新失败!");
            }
            window.location.reload();
        },
        error:function () {
            alert("客户信息更新失败! ");
        }
    });

接下来是Controller

@RequestMapping(value = {"update"} ,method = { RequestMethod.POST })
@ResponseBody
public Long update(@RequestBody CookBook cookBook) {

    System.out.println("==============================================");
    System.out.println(cookBook);

    Long aLong = restaurantService.updateCook(cookBook);
    return aLong;
}

这是打印语句

CookBook{cookId=0, cookName='null', cookFlavor='null', cookRepertory=0, cookPrice=0, cookType='null'}

异常是说
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE cook_id = 0' at line 4

找了一天问题了,苦恼

  • 写回答

8条回答

  • JonathanYan 2018-09-20 06:41
    关注

    这个是说你的sql(数据库)查询语句有语法问题,看你发的问题是和前段有关,应该是你没明白错误报告的含义吧。
    你可以把'where cook_id = 0' _所在的那一句截图发上来,我给你看看语法错误,或者直接放到数据库里去执行以下试试

    评论

报告相同问题?

悬赏问题

  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型