Я пытаюсь отправить переменную 'ip' из дома. html в мой основной файл app.py python, я перепробовал много вещей, и ни одна из них не сработала, вот с чем я работаю:
<script src= "https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"> </script> <script> $.getJSON("https://api.ipify.org?format=json", function(data) { var ip = data.ip console.log(ip) }) </script>
@app.route("/ip", methods=["GET", "POST"]) def get_ip(): return render_template('home.html')
Я получил его на работу! Вот ответ:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script> $(document).ready(function() { $.getJSON("https://api.ipify.org?format=json", function(data) { ip = data.ip dd = {'ip': ip} // console.log(ip); // console.log(dd); $.ajax({ data: JSON.stringify(dd), contentType: "application/json; charset=utf-8", dataType: "json", type : 'POST', url : '/' }) }); }) </script>
Если вы просто хотите отправить IP на бэкэнд, сделайте следующее. В JS:
$.ajax({ dataType: 'string', url: '/', data: { ip: '2.2.2.2' }, type: 'GET', success: function (data) { ... ... } });
И, чтобы получить IP в Flask,
ip = request.args.get("ip")