避免在成功之后恢复到刷新页面上的ajax fileupload formdata



我不知道为什么,但是在带有formdata files_upload的ajaxcall之后,整个页面都会重新加载。正常的Ajax调用不会发生这种情况。

我没有表格标签或您知道是否使用React的内容。

我有一个inline file-upload组件来加载异步文件。

<FlatButton label="Upload File" onClick = { (e) => this.commonUploadFile(e) } />

触发器很简单。

方法:

 e.preventDefault(); // Let's stop this event.
        e.stopPropagation(); // Really this time.
        let formData = new FormData();
        const file = files[0]; //passed by wrapping method
        formData.append('uploading_file', file);
        formData.append('file_name',this.state.file_name);
        formData.append('original_filename',this.state.original_filename);
        formData.append('userToken',window.userToken);
        formData.append('file_path',this.props.attributes.dirname);
        $.ajax({
            method: 'POST',
            data: formData,
            cache: false,
            contentType: false,
            processData: false,
            async : true,
            url: process.env.REACT_APP_FILE_UPLOAD,
            complete: function(result){
                result = JSON.parse(result.responseText);
                this.setState({upload_result : result.success});
            }.bind(this),
          });
          return false;

呼叫结束成功,并且组件状态得到正确更改,但是在那之后,整个网站刷新,我不知道为什么。

我终于发现了问题。使用开发服务器(NPM启动(时,任何文件系统更改都会启动页面刷新,文件上传更改文件系统。

所以请注意。