2013-03-21 17 views
8

Bir jinja şablonuyla verileri python'dan javascript'e nasıl geçirebileceğimi biliyorum, ancak javascript değişkenini python'a geçirmek istiyorum. Sayfayı yeniden yüklemeden yapmak istiyorum. Mümkün mü?Veriyi Flask'a aktarma

+5

ajax isteği kullanın:

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)}); 

olarak here sözü biz jquery yüklemek için Google AJAX API içermesi gerekir? – monkut

cevap

4

Evet, monkut'un dediği gibi - JSON ve Javascript/jQuery'yi kullanmak istediğinizi düşünüyorum.

Bu, istemciden sunucuya ve tekrar iletişim sağlanmasına izin verir.

buldum en uygun örnek Şişesi parçacıkları/desenlerde oldu: http://flask.pocoo.org/docs/patterns/jquery/

-1

yazma, jsonData söylemek ve Jinja Şablonu'ndaki görünümünüzü kodundan

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

OP, özellikle bunun nasıl yapıldığını bildiğini ve diğer yöne gitmek istediğini belirtmiştir. – pydsigner

2

gibi bir şey JSON dizesi oluşturma Projemde benzer bir çalışma yaptım ve kodumu burada paylaşmak istiyorum. Hangi gönderinin seçildiğini bulmam gerekiyor ve seçili gönderiyi sunucu tarafında global değişken olarak ayarlıyordum, böylece daha sonra karşılaştırmak için kullanabilirim. Bu, seçili gönderiyi Javascript'e nasıl iletirim.

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

Şimdi Javascript'ten Flask'a.

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

JSON kullanarak bu sonucu flasktan nasıl döndürebilirim.

<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

Sayfayı kullanıcı tıklatma düğmesi yerine sayfa yükleme işlevini nasıl çağırırsınız ve daha sonra verileri javascript'ten flask'a geçirirsiniz –

İlgili konular