2013-10-20 2 views
0

지난 2 일 내 문제를 해결하려고했습니다. 이제 도움이 필요해. 내 임무는 매우 간단합니다. Jquery ajax 요청은 서버에 사용자 이름과 암호를 게시합니다. 여기에는 파이썬 프레임 워크 "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 

리디렉션을 반환하려고 시도했지만 콘솔 네트워크 로그에이 반환 메시지가 표시되지만 아약스가 리디렉션하지 않는다는 것을 발견했습니다 (https://stackoverflow.com/a/17256609/2107985). Ajax 함수의 console.log에 "오류"가 표시 될 때마다 200 OK가 표시됩니다.

수동으로 브라우저에 링크 : http://localhost:5000/login을 입력하면 정상적으로 json을 반환합니다.

답변

1

요청하신 내용이 Origin http://localhost이지만 요청하신 URL은 http://localhost:5000/login입니다.

콘솔 당신에게 경고를 제공해야한다 :

원산지 http://localhost가 액세스 제어 - 허용 - 원산지에 의해 허용되지 않습니다.

귀하의 데이터 읽기 능력은 the same origin policy으로 제한됩니다. 두 요청에 모두 동일한 출처를 사용하거나 circumvent it을 사용해야합니다.

+0

경고가 없습니다. 나는 [these] (http://stackoverflow.com/a/9570852/2107985) 데이터를 헤더에 추가했지만 도움이되지 않았다. –

+0

저는이 [code] (http://flask.pocoo.org/snippets/56/)를 사용합니다. –

+0

응답 헤더가 정확히 무엇이라고 말합니까? 응답 본문은 어떻게 생겼습니까? – Quentin

관련 문제