无法解析JSON in post for post方法

时间:2018-01-21 19:23:39

标签: javascript arrays json reactjs post

我有一个post函数,我在服务器上发送JSON响应,将属性的可见性更改为true / false。发送的响应格式为: { "keywordId":"KW-0604", "visibility": "False" }

我的帖子功能如下,并在ComponentWillUpdate()

中调用
keyadd(){
     axios.post('http://localhost:8080/visualization/interact/keyword/update', 
    { keywordId: this.state.visible_keywords,  visibility: 'False' })
    .then(function (response) {
      console.log(response);
    })
    .catch(function (error) {
      console.log(error);
    });
   }

对于keywordId我从this.state.visible_keywords传递了json字符串,我在仪表板中的两个表之间拼接数据。

this.state.visible_keywords以格式获取数据:[{"keywordId":"KW-0604","keywordName":"Branched-acid biosynthesis"}]这是一个有效的JSON响应。

但是从上面的JSON字符串中我只想发送keywordID。我尝试使用JSON.stringfy()JSON.parse()函数,但没有成功。

使用我给定的post函数集,我知道服务器将响应错误响应。

我一直试图找到解决方案,但徒劳无功。

此致

2 个答案:

答案 0 :(得分:0)

你基本上可以这样做:

axios.post('http://localhost:8080/visualization/interact/keyword/update'
        , { keywordId: Object.values(this.state.visible_keywords)[0], visibili‌​ty: 'False'})
      .then(function (response) {
        console.log(response);
      })
      .catch(function (error) {
        console.log(error);
      });

  

this.state.visible_keyword

已经是JSON了,解析没用。

请注意,如果您执行以下操作:

axios.post('http://..yourURL', this.state.visible_keywords)...

完全有效,只是确认了我所说的内容。

答案 1 :(得分:0)

这应该有效

{keywordId:this.state.visible_keywords[0].keywordId,visibili‌​ty: 'False'}