Как я могу отправить переменную JavaScript обратно flask? - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь отправить переменную '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')

Ответы [ 2 ]

1 голос
/ 20 апреля 2020

Я получил его на работу! Вот ответ:

<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>
0 голосов
/ 20 апреля 2020

Если вы просто хотите отправить IP на бэкэнд, сделайте следующее. В JS:

$.ajax({
   dataType: 'string',
   url: '/',
   data: {
       ip: '2.2.2.2'
   },
   type: 'GET',
   success: function (data) {
       ...
       ...
   }
});

И, чтобы получить IP в Flask,

ip = request.args.get("ip")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...