javascript - 使用 fetch 发布 JSON 数据

标签 javascript json reactjs

我正在尝试从表单输入中发布多个数据点。

但是,表单数据未到达 json 输出负载(我检查了网络输出)。它似乎永远不会被触发。

如果有更好的方法来重写它 - 我愿意

我已将其全部放入 Codepen- http://codepen.io/yarnball/pen/LRVgpo?editors=1011

数据需要以这种确切的方式发布:

{
        "title": "SAMPLE",
        "tag": [
            {
                "name": "Movie",
                "taglevel": 1,
            }
        ],
        "info": []
    }

发布方法

    var Postapi = React.createClass({
componentWillMount () {
var form = document.querySelector('form')
return fetch('http://localhost:8000/api/Data/', {
 method: 'POST',
 body: JSON.stringify({
     title: this.state.itemtitle,
     tag:[
       {name:this.state.tagtitle,
       taglevel:this.state.taglevel}
      ],
     info:[]
  })
})

},

返回示例

<form onSubmit={this.handleSubmit}>
 ...
  <input
    placeholder="Item Title"
    type="text"
    itemtitle={this.state.itemtitle}
    onChange={this.handleChange}
  />

初始状态并提交

  getInitialState: function() {
  return {
    itemtitle: [],
    tagtitle: [],
    taglevel: [],
    tagoptions: Exampledata
  };
  },

  handleChange: function(event) {
    this.setState({itemtitle: event.target.itemtitle});
    this.setState({tagtitle: event.target.tagtitle});
    this.setState({tagname: event.target.tagname});
  },
  handleSubmit: function(e) {
    e.preventDefault();
    var itemtitle = this.state.itemtitle
    var tagtitle = this.state.tagtitle
    var taglevel = this.state.taglevel
    this.setState({itemtitle: '', text: ''});
  },

最佳答案

您必须在 handlesubmit 函数中调用您的 fetch 函数...根据此 linkcomponentWillMount :在服务器端和客户端渲染之前执行。 因此您的表单为空。 您需要阅读有关 React 生命周期的更多信息。

关于javascript - 使用 fetch 发布 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39410177/

相关文章:

javascript - 如何在运行时创建对象并移动它们?

javascript - GitHub 在其图形页面上使用什么图形库?

python - JMESPath 嵌套 OR 语句

json - 多个 JQuery .getJSON 回调不会触发

javascript - ReactJS:如何将类名应用于两个元素标签?

javascript - react-router 在子组件中获取 this.props.location

javascript - Google 可视化水平轴标签

javascript - WCF 服务接受简单的 JSON 字符串但拒绝带有 400 错误的 JSON 集

reactjs - React-navigation:使用底部选项卡导航器时不显示标题

javascript - 单击时获取任何元素 tagName