如何解决从前端向Flask服务器发起AJAX请求时的CORS问题?

0 投票
1 回答
36 浏览
提问于 2025-04-14 17:06

我正在开发一个网页应用,后端用的是Flask,前端用的是JavaScript。不过,我在从前端向Flask服务器发送AJAX请求时遇到了CORS政策的问题。

这是我JavaScript代码的一个例子:

$(document).ready(function() {
    $("#escolherimagem").click(function() {
        $("#fileInput").click();
    });`

    $("#fileInput").change(function() {
        var formData = new FormData();
        formData.append('image', $(this)[0].files[0]);
        
        $.ajax({
            url: 'http://12*.0.*.1:5***/detect',
            type: 'POST',
            data: formData,
            processData: false,
            contentType: false,
            success: function(response) {
                console.log(response);
                if (response.is_healthy) {
                    alert('O animal na imagem é considerado saudável.');
                } else {
                    alert('O animal na imagem "Não" é considerado saudável.');
                }
            },
            error: function(xhr, status, error) {
                console.error('Erro ao enviar imagem:', error);
            }
        });
    });
});

这是我Flask服务器上的CORS配置:

from flask import Flask
from flask_cors import CORS

app = Flask(__name__)
CORS(app)

我该如何解决这个CORS问题,让我的AJAX请求被Flask服务器接受呢?

我已经使用flask-cors这个扩展在Flask服务器上配置了CORS,但当我尝试发送请求时,浏览器仍然显示CORS错误。

1 个回答

-1

_________________导入这段代码

从flask库导入Flask
从flask_cors库导入CORS

创建一个Flask应用,命名为app
使用CORS功能,设置允许的来源为{"origins": "http://yourfrontenddomain.com"},这个是指允许来自这个网址的请求访问/detect这个接口

如果当前文件是主程序(也就是直接运行这个文件),那么就启动应用,调试模式开启

////////////////////////////////////////////////////////

使用CORS功能,设置允许的来源为{"origins": "*"},这个是指允许任何网址的请求访问/detect这个接口

撰写回答