Форум сайта python.su
Офлайн
i.slepov
request.get_json()
Офлайн
.
Отредактировано J.R. (Фев. 27, 2016 16:40:23)
Офлайн
sander
request.get_json()
request.values
CombinedMultiDict([ImmutableMultiDict([]), ImmutableMultiDict([('Thomas Sendall', ''), ('John Smith', '')])])
Отредактировано i.slepov (Авг. 28, 2015 11:07:12)
Офлайн
sander
если mimetype кривой то
request.get_json(force=True)
Офлайн
sander
если mimetype кривой то
request.get_json(force=True)
#!/usr/bin/env python from flask import Flask, request, jsonify app = Flask(__name__) app.debug = True template = """ <html> <head> <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script> <script> $(document).ready(function() { data = [{'email': 'john@example.com', 'name': 'John Smith'}, {'email': 'thomas@example.com', 'name': 'Thomas Sendall'}]; $('button').on('click', send_request); function send_request() { $.ajax({ url: '/', type: 'POST', data: data, success: function (data) { $("span").html(data.message) } }); }; }); </script> </head> <body> <div style="position: absolute; margin-left: 45%;"> <button style="background-color:red; width: 15rem; height:12rem;">Big Red Button</button> <h1>Result: <span></span></h1> </div> </body> </html> """ @app.route('/', methods=['GET']) def hello(): return template @app.route('/', methods=['POST']) def processing(): return jsonify({'status': 'ok', 'message': str(request.form.keys())}) if __name__ == "__main__": app.run()
Отредактировано i.slepov (Авг. 28, 2015 13:04:37)
Офлайн
i.slepov
так ты json и не отсылаешь, или указывай content type и делай JSON.stringify и получай данные через request.get_json(), или смотри в request.form
Офлайн
В запросе нужно указать contentType: “application/json; charset=utf-8” и передавать JSON.stringify(data). Тогда можно работать с request.get_json()
Офлайн
Спасибо. Работает.
Офлайн