2016-11-03 7 views
0

URL을 가져 와서 일부 로직을 수행하고 다른 URL로 사용자를 리디렉션하는 Flask 앱이 있습니다. 논리가 실행되는 동안 기본적으로 "기다려주십시오"라는 정적 HTML 페이지를 생성하고 싶습니다. jQuery에서 비동기식 작업을 수행하는 좋은 방법이 있습니까?리디렉션 중 Flask의 정적 HTML 페이지

app = Flask(__name__) 

@app.route('/stuff/morestuff/') 
def stuff(): 
    #can I load html here without a return()? 

    #request.args input url, calls out to api, generates new url 
    return redirect(url) 
+0

물론, 그냥 ajax 호출을하고 텍스트를 기다려주십시오. 그런 다음 요청이 완료되면 제거하십시오. 자바 스크립트에서. – davidism

+0

좀 더 자세히 설명해 주시겠습니까? 처음에 아약스 호출을 한 다음 리디렉션이 발생하면 텍스트를 삭제 하시겠습니까? – Malakaman

답변

0

그런 식으로 작동하지 않습니다. 서버에 HTTP 요청이 이루어지면 서버는 하나의 응답을 되돌려 보냅니다. 이는 성공, 리디렉션 또는 여러 가지 유형의 응답 일 수 있습니다. 리디렉션으로 응답하는 것이 일반적으로 빠른 작업이기 때문에 설명하는 것을 수행 할 이유가 거의 없습니다.

그러나 실제로 이러한 종류의 동작을 얻으려면 성공으로 응답해야하고 응답하는 페이지에서 자바 스크립트를 사용하여 리디렉션을 처리해야합니다. 이 시점에서 JS를 사용하여 클라이언트 측에서 모든 로직을 수행하거나 AJAX/websockets를 사용하여 서버와 통신하여 사용자가 기다리는 동안 추가 정보를 얻을 수 있습니다. 이 방법을 사용하려면 사용자가 자바 스크립트를 사용하도록 설정해야하며 간단한 리디렉션에는 필요하지 않아야합니다.

관련 문제