我正在开发一个应用程序,其中聊天机器人会询问用户问题,获取答案,通过python sklearn模型运行其答案并输出结果。
我有一个html / javascript / jquery文件,其中的输入字段为id ='0',id ='1',...,id = '16'。我试图将这些值用作python sklearn模型的输入,并在不刷新页面的情况下返回结果。我进行了设置,因此当最后一个聊天机器人答案提交时,页面上的数据全部由答案ID来获取。我想将此数据作为模型的输入发布,并返回模型的结果,并让聊天机器人对此结果做出响应。
Python app.py:
app.route('/')
def index():
return render_template('index.html')
app.route('/getdata', methods=['GET','POST'])
def getdata():
if request.method == 'POST':
print('getting data')
return json['data']
else:
return 'no data'
JavaScript
function endMessage() {
var e0 = document.getElementById('1')
var e1 = document.getElementById('2')
var data = [e0,e1]
$.ajax({
type:"POST",
url:"/getdata",
data: JSON.stringify(data),
contentType: 'application/json;charset=UTF-8',
success: function(response) {
console.log(response);
}
});
}
提交最后一个问题时,将触发功能endMessage。这是我试图让ajax发出POST请求的地方。
首先,我无法获取要发布的数据。我的flask应用程序从不打印“获取数据”,因此ajax似乎从未发布过数据。其次,我很困惑如何将这些数据传递给我的python模型函数,然后将其发送回html文件。在我的JavaScript中,我应该将ajax用作“ GET”,并具有一个烧瓶函数,该函数将POSTS发送到模型结果的不同路径?