Flask Python字符串不返回Javascript XMLHttpRequest调用

Flask Python字符串不返回Javascript XMLHttpRequest调用,javascript,python,xmlhttprequest,flask,uwsgi,Javascript,Python,Xmlhttprequest,Flask,Uwsgi,我有一个Javacscript XMLHttpRequest调用,它调用python app.py(使用flask)。python脚本myapp.py返回“Hello World”。我在Chromium调试中看到它正在返回“hello world”。但它不会在responsetext值中返回到Javascript XMLHttpRequest 以下是我的javascript代码: function foo() { var xml = new XMLHttpRequest(); x

我有一个Javacscript XMLHttpRequest调用,它调用python app.py(使用flask)。python脚本myapp.py返回“Hello World”。我在Chromium调试中看到它正在返回“hello world”。但它不会在responsetext值中返回到Javascript XMLHttpRequest

以下是我的javascript代码:

function foo() {
    var xml = new XMLHttpRequest();
    xml.open("GET", "/myapp/web.py", true);
    xml.send(null);
    var text = xml.responseText;
    alert(text);

}
以下是python脚本:

flask python # cat myapp.py
from flask import Flask
app = Flask(__name__)


@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def catch_all(path):
    return "hello world"

#@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()
flask python#cat myapp.py
从烧瓶进口烧瓶
app=烧瓶(名称)
@app.route('/',默认值={'path':''})
@应用程序路径(“/”)
def catch_all(路径):
返回“你好,世界”
#@应用程序路径(“/”)
def hello_world():
返回“你好,世界!”
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
app.run()

由于JavaScript的异步特性,您需要使用回调函数来获取数据

function ajaxSuccess () {
    alert(this.responseText);
}

function foo() {
    var xml = new XMLHttpRequest();
    xml.open("GET", "/myapp/web.py", true);
    xml.send(null);
    xml.onload = ajaxSuccess;
}
尝试:


我相信你已经解决了这个问题。 解决此问题的一种方法是检查xml.readyState==4&&xml.status==200

function foo() {
    var xml = new XMLHttpRequest();
    xml.onreadystatechange() {
        var text = xml.responseText;
        alert(text);
    }
    xml.open("GET", "/myapp/web.py", true);
    xml.send(null);
}