jQuery-无法加载预检响应无效(重定向)状态307

时间:2018-10-13 02:53:24

标签: javascript jquery ajax django

我目前正在尝试设置一个异步函数,以将小的JSON加载到页面中。这只是一个测试,因为我对jQuery和XHR缺乏经验。在将服务器设置为支持CORS之前,我一直被困在'Access-Control-Allow-Origin'Origin null上。现在的问题是我无法解决此问题。我已经检查了客户端和服务器端,从中可以看到一切正常。我也在这里使用Django Framework。

这是页面上的一个小测试按钮。 JSON进入testeJSON div

<button type="button" id="btnTest">Teste JSON</button>
<div id="testeJSON"></div>

这是它的JavaScript

$("#btnTest").click( function() {
    let jfilho = $.ajax({
        method: 'GET',
        url: 'http://www.pythonanywhere.com/user/zzzaik/files/home/zzzaik/OPE_Draco/core/backend/dataJson.py',
        headers:{
            'Access-Control-Allow-Origin':'http://zzzaik.pythonanywhere.com/',
            'Content-Type':'application/x-www-form-urlencoded;charset=utf-8'}
        });

    $("#testeJSON").text(jfilho);

    });

所以脚本应该在dataJson.py内部访问此功能

def getClassificacoes(request):
    data = {
        'estilos':['1','2','3'],
        'cores':['a','b','c'],
        'regiao':['um','dois','tres'],
        'tamanho':['s','m','l']
    }
    if request.method == 'GET':
        return HttpResponse(json.dumps(data), content_type="application/json")
    return HttpResponse("This is not a GET request", content_type="text/plain")

而且我确定服务器上已启用CORS。因为我当前正在测试,所以将源设置为接受所有。一旦开始运作,我便会设定正确的网域。

INSTALLED_APPS = [
    '...',
    'core',
    'jquery',
    'corsheaders',
]

MIDDLEWARE = [
    '...',
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    '...',

]

CORS_ORIGIN_ALLOW_ALL = True

CORS_ALLOW_METHODS = default_methods

CORS_ALLOW_HEADERS = default_headers

当我单击按钮时,控制台将输出错误: Console Output

那么,我想念什么?我真的很想了解问题的原因,因为我将在以后进行复制。预先感谢。

0 个答案:

没有答案