AJAX 回调返回 0

ajax callback return 0

本文关键字:返回 回调 AJAX      更新时间:2023-09-26

在过去的两天里,我试图解决我的问题。现在我需要帮助。 我的任务很简单。Jquery ajax 请求将用户名和密码发布到服务器,其中 python 框架"Flask"。我做了非常简单的例子,但它仍然不起作用。

阿贾克斯:

$.ajax({
                    url: "http://localhost:5000/login",
                    type: "POST",
                    dataType: "json",
                    data: values, //(json with username and password)
                    complete:function(response){
                        console.log(response);
                    }
                });

我试图重写成功和错误函数,但结果是一样的。一切都返回:

Object { readyState=0, status=0, statusText="error", more...}

烧瓶实现:

@app.route("/login", methods=["GET", "POST"])
def login_page():
    return jsonify(redirect="index.html")

头:

响应:

Content-Length  30
Content-Type    application/json
Date    Sun, 20 Oct 2013 09:50:19 GMT
Server  Werkzeug/0.9.3 Python/2.7.3
Set-Cookie  session=eyJfaWQiOnsiIGIiOiJOakkwTUdVM01HVXhNR0prWmpka05qQXlPRGcwT1dWbFlUQmhPRGRpT0RrPSJ9fQ.BUU42w.FDnVp15DxEsMPP_TsOpq8OzzU5I; HttpOnly; Path=/

请求:

Accept  application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language cs,en-us;q=0.7,en;q=0.3
Cache-Control   no-cache
Connection  keep-alive
Content-Length  102
Content-Type    application/x-www-form-urlencoded; charset=UTF-8
Host    127.0.0.1:5000
Origin  http://localhost
Pragma  no-cache
Referer http://localhost/login.html
User-Agent  Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0

我试图返回重定向,控制台网络日志显示此返回,但我发现 ajax 没有重定向 (https://stackoverflow.com/a/17256609/2107985)。每次控制台.log来自 ajax 函数都会向我显示"错误",尽管有 200 个 OK。

通过手动键入 link: http://localhost:5000/login到浏览器,它通常会返回 json。

您的请求显示Origin http://localhost,但您请求的 URL http://localhost:5000/login

您的主机应该会向您发出警告:

访问控制-允许-源不允许源http://localhost

您读取数据的能力受到同源策略的限制。 您要么需要对两个请求使用相同的源,要么绕过它。