0
我想要一個簡單的打印運行語句,以確保回調工作正常。取回調反應
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>
)
}
})
在服務器上:
@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"
控制檯,但它不打印"This worked"
我在做什麼錯?
你嘗試投入.catch()上的承諾,以查看是否得到踢回錯誤?如果出現錯誤,則不會調用.then() – JiuJitsuCoder
更新了問題並添加了.catch()我做對了嗎?沒有任何東西正在被打印:/ –
是的,看起來不錯。我認爲它在服務器端。你的反應代碼對我來說看起來很好。嘗試使用Postman(或任何API測試工具)實現該方法,並查看返回的內容。 – JiuJitsuCoder