Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
使用AJAX发布时未找到Python Flask路由_Python_Ajax_Flask - Fatal编程技术网

使用AJAX发布时未找到Python Flask路由

使用AJAX发布时未找到Python Flask路由,python,ajax,flask,Python,Ajax,Flask,我正在尝试路由我的烧瓶路由,并查看烧瓶的正确返回(返回在我下面的代码中指示)。当我将我的页面指向mypage.com/时,我确实看到了输出,但当我希望看到“hello world”时,它似乎正在返回控制台中的xxamp apache索引页面 以下是我的目录列表: /localhost /my_dir /js /templates app.py 下面是我对/的AJAX调用: js: 这是我的烧瓶: app.py: from flask im

我正在尝试路由我的烧瓶路由,并查看烧瓶的正确返回(返回在我下面的代码中指示)。当我将我的页面指向
mypage.com/
时,我确实看到了输出,但当我希望看到“hello world”时,它似乎正在返回控制台中的xxamp apache索引页面

以下是我的目录列表:

/localhost
    /my_dir
        /js
        /templates
        app.py
下面是我对
/
的AJAX调用:

js:

这是我的烧瓶:

app.py:

from flask import Flask, request, send_file, render_template, json
from ftplib import FTP                                                                      

app = Flask(__name__)

@app.route('/')
def hello_world():
return 'hello world!'

if __name__ == "__main__":
app.run()

这里似乎有一种脱节。我相信我的Apache在80上运行,而Flask在5000上监听。因此,我的javascript AJAX调用实际上是调用端口80而不是5000,因此,我认为我看到的回报与预期的不同。我是否必须在AJAX调用中指定端口,还是应该让flask侦听端口80?

尝试使用可接受的方法添加POST

@app.route('/index', methods=['GET', 'POST'])
def index():
    return render_template('index.html')

你在app.py中调用app.run()了吗?运行Flask应用程序,比如:app.Run(host='0.0.0',debug=True,threaded=True,port=)@RogerHuang是的,对不起,我的代码中确实有这个。我刚刚更新了代码。使用$curl localhost:查看您的flask应用程序是否收到http请求,控制台中应该有一些有用的日志。@RogerHuang噢,在运行ajax请求之前,我必须手动运行flask吗?是的。您必须在本地运行服务器(以后可能会部署到其他地方)。使用诸如:$python app.py之类的命令,您应该能够看到:*正在运行以获取更多信息:
@app.route('/index')
和do
curl-X POSThttp://127.0.0.15000/index -d'test'
我必须使用405方法不允许响应po?$curl-X POST-d'test'?
127.0.0.1:5000
:)它似乎在工作
curl-X GEThttp://127.0.0.1:5000/index -d'test'
但我的AJAX调用似乎没有触及该端口。这是在一个Web服务器上运行的。我需要一些特殊的配置来进行AJAX调用,以使调用成为端口5000吗?我不这么认为。尝试添加变量user/而不是/only。在Ajax调用“/myuser”时使用GET和concat命令访问您的用户
@app.route('/index', methods=['GET', 'POST'])
def index():
    return render_template('index.html')