콘솔 부분 보시면 done bucket(num)이 아니라 num 부분에 숫자 1 하고 2가 각각 들어가야하는데 num으로 들어가 있습니다
작성한 코드 및 에러 메세지
from flask import Flask, render_template, request, jsonify app = Flask(__name__) from pymongo import MongoClient client = MongoClient("mongodb+srv://mire:dbsrjsdn1!@cluster0.e4w3e80.mongodb.net/?retryWrites=true&w=majority") db = client.dbsparta @app.route('/') def home(): return render_template('index.html') @app.route("/bucket", methods=["POST"]) def bucket_post(): bucket_receive = request.form['bucket_give'] bucket_list = list(db.bucket.find({}, {'_id': False})) count = len(bucket_list)+1 doc = { 'num':count, 'bucket':bucket_receive, 'done':0 } db.bucket.insert_one(doc) return jsonify({'msg': '등록완료!'}) @app.route("/bucket/done", methods=["POST"]) def bucket_done(): num_receive = request.form['num_give'] db.bucket.update_one({'num' : int(num_receive)}, {'$set': {'done': 1}}) return jsonify({'msg': 'bucket 완료!'}) @app.route("/bucket", methods=["GET"]) def bucket_get(): bucket_list = list(db.bucket.find({}, {'_id': False})) return jsonify({'buckets': bucket_list}) if __name__ == '__main__': app.run('0.0.0.0', port=5000, debug=True)
<script>
$(document).ready(function () {
show_bucket();
});
function show_bucket() {
$.ajax({
type: "GET",
url: "/bucket",
data: {},
success: function (response) {
let rows= response['buckets']
for (let i=0;i<rows.length;i++){
let bucket =rows[i]['bucket']
let done =rows[i]['done']
let num =rows[i]['num']
let temp_html=``
if (done==0){
temp_html=`<li>
<h2>✅${bucket}</h2>
<button onclick="done_bucket(num)" type="button" class="btn btn-outline-primary">완료!</button>
</li>`
}
else
{
temp_html=` <li>
<h2 class="done">✅ ${bucket}</h2>
</li>`
}
$('#bucket-list').append(temp_html)
}
}
});
}
function save_bucket() {
let bucket = $('#bucket').val()
$.ajax({
type: "POST",
url: "/bucket",
data: {bucket_give:bucket},
success: function (response) {
alert(response["msg"])
window.location.reload()
}
});
}
function done_bucket(num) {
$.ajax({
type: "POST",
url: "/bucket/done",
data: {num_give: '데이터전송'},
success: function (response) {
alert(response["msg"])
}
});
}
</script>