javascript - flask: how to get a POST endpoint to redirect correctly -
have complicated endpoint in flask deployed server:
@app.route('/whatever', methods=['get', 'post']) def somefunct: if request.method = 'post': << stuff >> << other stuff >> return render_template('sometemplate.html', **<<variable dict>>)
that pushes 1 template.
sometemplate.html
kind of tricky, contains table pulls data variable dictionary , provides dropdown allows user interact it:
{% item in << variable in dict >> %} ... <td> <form name="category-form" id="category-form-{{ item }}" action="/whatever"> <select name="{{ item }}" id="{{ item }}"> <option value="1">option 1</option> <option value="2">option 2</option> <option value="3">option 3</option> </select> </form> </td>
and have javascript trigger right post
action (jquery loaded):
$(document).ready(function() { {% item in << variable in dict >> %} var form{{ item }} = $('category-form-{{ item }}'); form{{ item }}.find('#{{ item }}').change(function(){ $.ajax({ type: "post", url: form{{ item }}.attr('action'), data: form{{ item }}.serialize(), success: function(response){ console.log("calling {{item}}") } }); }); {% endfor %} });
all of works correctly in dev environment, when push our server, i'm getting 500
errors in javascript console. suspicion there's funky going on request
object -- i've been able narrow down i'm getting error didn't before when try parse through it.
as part of troubleshooting, since i'm running apache server , don't have easy access output, thinking might wise redo endpoint follows:
@app.route('/whatever', methods=['get', 'post']) if request.method = 'post': << stuff >> variable = << variable test >> return render_template('test.html', **{"variable"=variable}) << other stuff >> return render_template('sometemplate.html', **<<variable dict>>)
and set test.html be:
{{ variable }}
(with correct blocks around it, etc.)
however, when try implement this, after selecting dropdown, doesn't redirect test.html
, though can tell javascript console , creative use of return
statement in code it's tracing through correct part of endpoint.
my guess way javascript set up, want able redirect test.html
in order see request object looks , why it's malformed.
how do redirect in context?
of course if have ideas why code wouldn't working on server when it's working on localhost
, i'd ears :)
Comments
Post a Comment