2013-03-21 4 views
8

나는 jinja 템플릿을 가진 데이터를 파이썬에서 자바 스크립트로 전달하는 법을 알고 있지만 자바 스크립트 변수를 파이썬에 전달하려고합니다. 나는 페이지를 다시로드하지 않고 그것을하고 싶습니다. 그게 가능하니?자바 스크립트에서 Flask로 데이터 전달하기

+5

는 아약스 요청을 사용

import json @main.route('/check_selected', methods=['GET','POST']) def check_selected(): global selected post = request.args.get('post', 0, type=int) return json.dumps({'selected post': str(post)}); 

바와 같이 here 언급, 우리는 JQuery와로드하기 위해 구글 AJAX API를 포함 할 필요가? – monkut

답변

4

예, monkut이 말한 것처럼 - 저는 JSON과 Javascript/jQuery를 사용하고 싶습니다.

이렇게하면 클라이언트에서 서버로 통신하고 다시 통신 할 수 있습니다.

내가 발견 한 가장 적합한 예는 플라스크 조각/패턴이었다 http://flask.pocoo.org/docs/patterns/jquery/

-1

쓰기, jsonData 말을하고 신사 템플릿에서보기 코드에서

<script type="text/javascript"> 
    var data = {{ jsonData }}; 
</script> 
+1

OP는 그가 이미 이것을하는 방법을 알고 있고 다른 방향으로 가고 싶다고 특별히 언급했습니다. – pydsigner

2

뭔가를 JSON 문자열 만들기 내 프로젝트에서 비슷한 종류의 작업을 수행했으며 여기에서 코드를 공유하려고합니다. 어떤 게시물을 선택했는지 확인하고 선택한 게시물을 서버 측에서 전역 변수로 설정 했으므로 나중에 비교할 때 사용할 수 있습니다. 이것은 내가 선택한 게시물을 Javascript로 전달하는 방법입니다.

<a class="label label-primary" onclick="myFunction({{very.id}})" > Compare</a> 

이제 Javascript에서 Flask로 변경되었습니다.

function myFunction(x) { 
     $.getJSON($SCRIPT_ROOT + '/check_selected', { 
     post: x 
     }, function(data) { 
      var response = data.result; 
      console.log(response); 
      } 
     }); 
} 

이것은 JSON을 사용하여 플라스크에서 결과를 반환하는 방법입니다.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script>window.jQuery || document.write('<script src="{{ 
    url_for('static', filename='jquery.js') }}">\x3C/script>')</script> 
+0

어떻게 사용자가 버튼 대신에 페이지로드시 함수를 호출하고 자바 스크립트에서 플라스크로 데이터를 전달할 수 있습니까? –

관련 문제