Comment passer une variable de href au flacon

C'est mon code python de mon flacon:

@app.route('/ques/<string:idd>',methods=['GET', 'POST']) def ques(idd): print idd 

Code Javascript:

 var counts = {{ test|tojson }}; var text = ""; var texts= ""; for (i = 1; i < counts.length; i=i+2){ texts=counts[i-1]; document.write("<a href=\"{{url_for('ques',idd=texts)}}\">"+counts[i]+"</a></br></br>"); } 

Comment passer la fonction idd à python?

Jinja est rendu sur le serveur afin que vous ne puissiez pas mélanger et combiner avec javascript. Essayez quelque chose comme ceci:

 var counts = {{ test|tojson }}, // before the HTML file gets to the browser this line will be: // baseURL = "/ques/REPLACE" baseURL = "{{ url_for('ques', idd='REPLACE') }}"; for (i = 1; i < counts.length; i = i+2) { var url = baseURL.replace('REPLACE', counts[i-1]); document.write("<a href=\"" + url + "\">" + counts[i] + "</a></br></br>"); } 

Sinon, vous devrez créer l'URL directement en Javascript.

Une meilleure façon de le faire serait d'utiliser les arguments de demande:

 @app.route('/ques/') def ques(): # url is: /ques/?idd=ABC idd = request.args.get('idd', default='', type=str) print idd 

Javascript:

 var counts = {{ test|tojson }}, baseURL = "{{ url_for('ques') }}"; for (i = 1; i < counts.length; i = i+2) { var url = baseURL + '?idd=' + counts[i-1]; document.write("<a href=\"" + url + "\">" + counts[i] + "</a></br></br>"); }