onSubmit binded不起作用

时间:2017-04-21 14:06:02

标签: javascript reactjs bind onsubmit

我想上传一个文件,我的代码适用于一个旧项目,但就其而言,没有办法!

class JsonUploader extends React.Component{

constructor(props){
    super(props);

    this.state = {file: ''};
    this.handleChange = this.handleChange.bind(this);
    this.handleSubmit = this.handleSubmit.bind(this);


}


handleChange(event){
    this.setState({file: event.target.files[0]});
}

handleSubmit(event){
  let data = new FormData();
  data.append('file', this.state.file);
  data.append('name', this.state.file.filename);
  axios.post("/files", data).then((response) => {console.log(response.data)}).catch(console.log("Sending failed"));
}

render(){
    return(
        <form onSubmit={this.handleSubmit}>
            <input type="file" name="file" onChange={(event) => {this.handleChange(event)}}/>
        <br/>
            <input type="submit" value="submit"/>
        </form>
    );
}

}

有我的班级。如您所见,处理程序是绑定的。我不知道为什么没有任何东西通过第一个或第二个处理程序......我尝试了两种方式(箭头和经典使用)但结果相同..

我的反应应用程序是一个服务器端呈现的应用程序,我不知道它是否改变了什么..

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

好的,我发现了问题,它无法使用我给的回购。 事实上,我忘了在我的index.html中添加client.js ref。