javascript - 以对象作为成员发布json请求对象

标签 javascript java json spring

我有一个问题。

我的前台是javascript,后端是Java(框架春季)

我尝试将json请求发布到Java控制器,但出现错误:


  “ bean类[...]的无效属性'toto [tata]':属性
  在索引属性路径“ toto [tata]”中引用的数组都不是
  既不是列表也不是地图;”


我要包装的课:

Class Test {
   Toto toto;
   String var1;
}

Class Toto {
   String tata;
}

@RequestMapping(..., method = RequestMethod.POST)
@ResponseBody
public jsonresponse testFunction(Test testrequest) { ... }


JavaScript方面:

ajax: {
      "url": [url],
      "type": "POST",
      data: function (data) { 
          var newData = Object();
          newData['var1'] = "it runs"
          newData.toto[tata] = "it doesn't work"
          return newData;
      },
      "dataSrc": function (returnedDataFromBackend) {
               ...
      }
}


有人可以帮助我吗? :-)

谢谢

最佳答案

更换

newData.toto[tata] = "it doesn't work"


成为:

newData = {
    "var1": "it runs",
    "toto": {
        "tata": "it doesn't work" // this string can be any value (data.variable1)
    }
};


或者,您可以先将属性newData.toto初始化为{},然后向其中添加属性tata

newData.toto = {};
newData.toto.tata = "it doesn't work"; // or any value you want (data.variable1)


当您创建var newData = Object();时,newData是普通的空对象{}。然后,您尝试将属性tata添加到newData对象内的不存在的属性toto(因为它为空)。因此,您需要在空对象toto内创建属性(对象)newData,以便向其添加属性(字符串)tata

关于javascript - 以对象作为成员发布json请求对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53961241/

相关文章:

javascript - 打开隐藏的 iframe 以在文档准备好时下载文件

java - 我的分身被改变了吗?

javascript - 使用 JavaScript 在 Chrome 上搜索 XHR 请求?

c# - ASP.NET MVC & JsonResult & jQuery 返回编码结果...为什么?

ios - Alamofire:参数未传递到服务器

javascript - 没有图库的 TinyMCE 图片上传和插入

javascript - 如何在 React Native fetch 中使用授权 header 来使用 Yelp API 发出获取请求

javascript - 主干网触发了错误的路由器方法

java - ImageView在滑动面板中消失

java - 制作菜单时在Java中创建while循环