Моя база данных находится в MS SQL Server 2012, где была создана таблица с именем 'testFeed'.Я использую веб-форму, с помощью которой я пытаюсь вставить новые данные в базу данных.Я использую 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.
И тогда никакие данные не вставляются вБаза данных.
У меня два вопроса:
- Где в коде AJAX / Python я получаю сообщение об ошибке
- Может ли AJAX и код на стороне Pythonбыть сокращенным (
for loop
)?
Буду признателен за любую помощь.Спасибо