Jquery reactjsajax文件上传
我正试图上传一个带有React的文件,但我不确定这样做的最佳方式。我正在尝试在更改时存储文件,但这似乎不起作用。我当前在提交时收到错误Jquery reactjsajax文件上传,jquery,ajax,file-upload,reactjs,Jquery,Ajax,File Upload,Reactjs,我正试图上传一个带有React的文件,但我不确定这样做的最佳方式。我正在尝试在更改时存储文件,但这似乎不起作用。我当前在提交时收到错误未捕获类型错误:非法调用 是否有更好的方法使用React上载文件 文件更改和上载功能: changeFile: function(e) { this.setState({csvFile: e.target.files[0]}); }, importFile: function() { data =
未捕获类型错误:非法调用
是否有更好的方法使用React上载文件
文件更改和上载功能:
changeFile: function(e) {
this.setState({csvFile: e.target.files[0]});
},
importFile: function() {
data = new FormData();
data.append('file', this.state.csvFile);
$.ajax({
type: "POST",
url: "/csv/import",
data: data,
dataType: "JSON"
}).done(function(json){
alert("hooray!");
});
},
JSX:
进口
设置状态是一个异步函数,因此无法立即获取状态。
您可以尝试使用callback检查您的文件
this.setState({
...
}, function(){
...
console.log(...);
});
ref:呃,我只需要在我的ajax调用中添加以下内容:
processData: false,
contentType: false
或
感谢使用react file uploader,但这会在提交时产生一个新问题:Uncaught TypeError:invalign invocation
这是一个jQuery错误。使用formdata或jQuery配置。看见
processData: false,
contentType: false
importFile: function() {
data = new FormData();
data.append('file', this.state.csvFile);
$.ajax({
type: "POST",
url: "/csv/import",
data: data,
dataType: "JSON",
processData: false,
contentType: false
}).done(function(json){
alert("hooray!");
});
},