在React中获取回调

时间:2017-04-04 15:05:55

标签: javascript reactjs

我正在尝试使用简单的print run语句来确保回调正常工作。

if case .element(let value) = someParameter {
    print(value) // or do whatever you want with it
} else {
    // do some other thing in the case of the parameter not being .element
}

在服务器上:

var CsvUpload = React.createClass({
  uploadfile: function() {
    console.log('trying')
    var file = this.refs.file.files[0];
    var formData = new FormData()
    formData.append('files', file)

    fetch('http://127.0.0.1:5000/add_csv_to_db', {
      method :'POST',
      body : formData
    })
    .then(() => {console.log('this worked')})
    .catch((err) => {console.log(err)})
  },

  render: function() {
    return (
      <div>
        <h4 className='sub-header'>CSV Upload</h4>
        <form onSubmit = {this.uploadfile} encType="multipart/form-data">
          <input type="file" name="file" ref="file"/>
          <button type="submit" className="btn btn-primary">Submit</button>
        </form>
      </div>
    )
  }
})

我看到&#34;已完成&#34;在服务器上打印出来。

在控制台中,我看到@app.route('/add_csv_to_db', methods=['GET','POST']) def add_rows(): file = request.files['files'] x = io.StringIO(file.read().decode('UTF8'), newline=None) csv_input = csv.reader(x) for row in csv_input: if row[0] == 'Email': pass else: print(row) tasks.add_User(row) print('completed') return json.dumps('success!') 但它没有打印"trying"

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您是否尝试过将提交事件添加为uploadFile函数的参数,然后在其上调用preventDefault()?你的应用程序可能会在提交时刷新,这就是为什么你永远不会看到&#34;这是有效的&#34;打印出来。 这就是我的意思:

var CsvUpload = React.createClass({
  uploadfile: function(e) {
    e.preventDefault();
    console.log('trying')
    ...