내 목표는 사용자가 양식을 작성하고 POST 요청의 정보를 플라스크 서버로 보내고 양식 정보를 사용하여 템플릿을 렌더링하는 것입니다. 서버의 논리).AJAX POST에 이어 Flask로 GET하기
지금까지이 모든 부분의 POST 부분을 완료했습니다. if request.method == POST'
안에 템플릿을 렌더링하려하고 있습니다. 현재 작동하지 않는 것 같습니다.
@app.route('/filteredsearch/', methods = ["GET", "POST"])
def filteredsearch():
if request.method == 'POST':
data = json.loads(request.data)
tables = data['checkboxes']
filter_results = getFilteredEntities(tables = tables)
print filter_results #This works
return render_template("filteredsearch.html", entities = filter_results)
내가 내 POST
기능의 성공에 별도의 GET
요청을해야합니까 :
여기에 지금까지 가지고있는 코드는? 그렇다면 어떻게해야합니까?
여기 (이 중요한 경우,이 코드는 응용 프로그램의 모든 한 페이지에 호출 할 수 있습니다)에 AJAX 요청입니다 : 내가 게시하도록하겠습니다 동안
$.ajax({
url:"/filteredsearch/",
type: 'POST',
data: json,
contentType: 'application/json;charset=UTF-8',
success: function() {
alert("Done");
}
});
그래서, 이상적으로 나는 템플릿을 렌더링 할 수 있습니다. 그런 경우가 아니라면 동일한 Ajax 함수에서 GET
요청을 처리하려면 어떻게해야합니까?
GET
요청에 일반적으로 url_for()
을 사용한다는 사실을 알고 있습니다.이 시점에서 JS에 해당 옵션이 제공됩니까?
내가 놓친 플라스크가 이것입니까? 새 템플릿에 변수 (위의 'filter_results'라고 함)를 채워야합니다. 당신이 묘사하고있는 방법으로 그 가능성이 있습니까? –
아닙니다. 이것은 웹 개발 일입니다. 게시물 요청을 한 다음 렌더링 된 템플릿으로 응답하려는 경우 AJAX 요청으로 처리하지 마십시오. 제출 단추가있는 html 양식 만 사용하십시오. http://www.w3schools.com/html/html_forms.asp – aychedee
하지만 서버 측 작업이 필요합니다. 그건 내가 AJAX를 사용해야한다는 뜻이 아니겠습니까? –