Я не могу заставить это работать. Мне просто нужно, чтобы пользователи могли удалять строки в таблице с помощью кнопки. Я не хочу, чтобы пользовательский интерфейс сбрасывал или прокручивал, поэтому я использую ajax через jQuery.
В app.py:
from flask import Flask
from flask import Flask, render_template, request
import sqlite3
app = Flask(__name__)
@app.route("/")
@app.route('/delete', methods=['POST'])
def delete():
con = sqlite3.connect('ships.db')
cur = con.cursor()
cur.execute('DELETE FROM `liners` WHERE liner_ip = "' + request.form['id'] + '"')
cur.commit()
con.close()
В index.html:
$( document ).ready(function() {
$( 'a.delete' ).click( function( e ) {
e.preventDefault();
$.ajax({
url: '/delete',
data: $('form').serialize(),
type: 'POST',
success: function(response) {
console.log(response);
},
error: function(error) {
console.log(error);
}
});
});
});
<form action="/delete" method="post" role="form">
<input type="hidden" name="id" value="{{row['liner_ip']}}">
<a href="#" class="btn btn-danger delete">DELETE</a>
</form>
Строка не удаляется, а код ответа 200. Поэтому я не знаю, в чем проблема. Я могу подтвердить, что форма заполнена правильно и сделан запрос ajax.
Может кто-нибудь указать мне образец, который делает это?