Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么XMLHttpRequest()似乎无法更新?_Javascript_Python_Flask - Fatal编程技术网

Javascript 为什么XMLHttpRequest()似乎无法更新?

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代码:

<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()))