Flask和MS SQL插入数据:使用Web窗体看不到新插入的数据

时间:2019-03-20 10:33:28

标签: sql-server ajax flask

我的数据库位于MS SQL Server 2012中,其中已创建名为“ testFeed”的表。我正在使用一个Webform,试图通过该Webform将新数据插入数据库。我正在使用Flask App作为服务器端脚本。以下是我的AJAX查询

$(document).ready(function(){
$("#btnsubmit").click( function(){
    var circle = $("#circle_name").val();
    var intake_point = $("#pickup_place").val();
    var int_reason = $("#interruption_reason_code").val();
    var start = $("#start_time").val();
    var end = $("#end_time").val();
    var outage = $("#outage").val();
    var out_res = $("#restore_outage").val();
    var cons_count = $("#consumer_count").val();
    var total_cons = $("#total_consumer").val();
    var inter_date = $("#int_date").val();
    $.ajax({type:'POST',
        url: '/interuption/',
        contentType: 'application/json;charset=UTF-8',
        datatype:'JSON',
        data_1: {circle:circle_name},
        data_2: {intake_point:pickup_place}, 
        data_3: {int_reason:interruption_reason_code}, 
        data_4: {start:start_time}, 
        data_5: {end:end_time}, 
        data_6: {outage:outage}, 
        data_7: {out_res:restore_outage}, 
        data_8: {cons_count:consumer_count},
        data_9: {total_cons:total_consumer}, 
        data_10: {inter_date:int_date},
        success:function(result){
            console.log(result);
            }
        });
    });
});

下面是我各自的Python代码段。

cnxn = pyodbc.connect('DRIVER={SQL Server Native Client 
11.0};SERVER=10.90.3.13;DATABASE=test;UID=UserID;PWD=password')
cursor=cnxn.cursor()
query_insert = "INSERT INTO test.dbo.testFeed(circle_name,intake_point,interruption_reason_code,start_timestamp,end_timestamp,outage_kwh,outage_kwh_rest,affected_cons,total_cons,inter_date) VALUES (?,?,?,?,?,?,?,?,?,?)"
app = Flask(__name__)
@app.route('/')
def form():
    return render_template('form.html')
@app.route('/interuption/',methods = ['GET','POST'])
    def interuption():
       if request.method == 'POST':
            data_1 = request.json('circle')
            data_2 = request.json('intake_point')
            data_3 = request.json('int_reason')
            data_4 = request.json('start')
            data_5 = request.json('end')
            data_6 = request.json('outage')
            data_7 = request.json('out_res')
            data_8 = request.json('cons_count')
            data_9 = request.json('total_cons')
            data_10 = request.json('inter_date')
            cursor.execute(query_insert, 
 (data_1,data_2,data_3,data_4,data_5,data_6,data_7,data_8,data_9,data_10))
            cnxn.commit()
            cnxn.close()
        return render_template('form.html')
if __name__ == '__main__':
print("**Starting Server...")

app.run(host = '127.0.0.1',port=5002,debug = True)

form.html是我的WebForm。在此,我启动了一个form,如下所示:

<form class="myForm" action="/interuption/">

运行此代码时,出现错误

ValueError: View function did not return a response. 

然后没有数据插入数据库。

我有两个问题:

  1. 在AJAX / Python代码中,我遇到了错误
  2. 能否缩短AJAX和Python辅助代码(for loop)?

任何帮助将不胜感激。谢谢

0 个答案:

没有答案