Javascript 为什么XMLHttpRequest()似乎无法更新?
以下是我的Html代码:Javascript 为什么XMLHttpRequest()似乎无法更新?,javascript,python,flask,Javascript,Python,Flask,以下是我的Html代码: <html> <head> <title>aerator</title> </head> <body> <div id="train"></div> <div id="predict"></div> 下面是我的python代码。我在上面的javascript代码中包含了所需的函数。 编辑:我实际上已经尝试
<html>
<head>
<title>aerator</title>
</head>
<body>
<div id="train"></div>
<div id="predict"></div>
下面是我的python代码。我在上面的javascript代码中包含了所需的函数。
编辑:我实际上已经尝试了POST和GET方法,但两者都没有检索数据
@app.route("/predict")
def mainPrediksi():
predict = preprocessing('root','','127.0.0.1','database')
if(condition):
X = 'option1'
else:
X = 'option2'
return (X,str(datetime.now()))
@app.route("/train")
def mainTrain():
X_train,X_test,Y_train,Y_test = preprocessing('root','','127.0.0.1','database')
X_train = X_train.astype(float)
Y_train = Y_train.astype(float)
#train classifier
model = train_clf(X_train,Y_train)
# save the model to disk
filename = 'randomForest.sav'
joblib.dump(model, filename)
return ('Success Train Model',str(datetime.now()))
我希望我的XhttmlRequest从
/predict
和/train
中获取返回值,但从我在终端中看到的情况来看,它似乎只是发布请求,而没有得到任何响应。有什么是我做错的吗?谢谢发送数据的xhttp.open“POST”方法不是吗?如果您想检索数据,请使用“获取”方法?对于任何想知道问题所在的人,我实际上设法找出了帖子没有给出任何答复的原因。这是因为在flask中,您需要指定访问函数的方法,否则您的POST或GET请求将被忽略
@app.route("/predict",methods=["POST","GET"])--> added methods in here
def mainPrediksi():
predict = preprocessing('root','','127.0.0.1','database')
if(condition):
X = 'option1'
else:
X = 'option2'
return (X,str(datetime.now()))
感谢社区的帮助,我希望我的回答能帮助需要帮助的人。什么是/没有发生,让你说它不起作用?您还没有描述基于我马上看到的主要问题我所期望的症状:您正在使用
setInterval
(它安排一个周期性计时器),然后再次调用refresh
,它会反复启动另一个周期性计时器,因此,在相对较短的时间内,您将有数千个间隔计时器都试图运行。对于一次性计时器,请使用setTimeout
。(我建议您不要启动下一个计时器,直到前一个计时器启动的ajax请求完成。)Hi@t.J.Crowder感谢您的回复。我希望我的XhttmlRequest从/predict
和/train
中获取返回值,但从我在终端中看到的情况来看,它似乎只是发布请求,而没有得到任何响应。我对web编程和flask很陌生,所以我可能错了,但从我所知道的每一篇文章中都应该有正确的回应,但我在我的终端中只看到了这篇文章。我无法帮助了解Python/flask方面的内容。您可以检查浏览器devtools中的“网络”选项卡。但是上面的setInterval
问题需要解决。:-)除此之外,您的XMLHttpRequest
代码看起来不错,尽管我总是建议您改用它(只是要注意我写的那篇文章)。但同样,XHR代码很好。
@app.route("/predict",methods=["POST","GET"])--> added methods in here
def mainPrediksi():
predict = preprocessing('root','','127.0.0.1','database')
if(condition):
X = 'option1'
else:
X = 'option2'
return (X,str(datetime.now()))