前端ajax请求java后台,后台返回给前台500错误,返回结果为

{"result":false,"code":500,"info":"JSON parse error: Unrecognized token 'username': was expecting ('true', 'false' or 'null');
 nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'username': was expecting ('true', 'false' or 'null')\n at [Source: (PushbackInputStream); line: 1, column: 10]"}

前端请求是这样写的:

    $.ajax({
      type: "POST",   //提交的方法
      url:"/ta/user/login", //提交的地址
      headers: {
        'Content-Type': 'application/json;charset=utf-8',
      },
      data:{"username":$("#username").val(),"password":$("#password").val()},
      async: false,
      error: function(request) {  //失败的话
      },
      success: function(result) {  //成功

后台接口是这样写的:

    @PostMapping(value="user/login")
	public Map<String,Object> login(HttpServletRequest request, @RequestBody Map<String,Object> param) {

原因在于前端传给后台的参数不是标准的JSON格式,这里只需要把参数json字符串化即可:

    data:JSON.stringify({"username":$("#username").val(),"password":$("#password").val()}),

利用JSON.stringify字符串化一下参数,问题解决。

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐