Вызов JQuery AJAX не отображается - PullRequest
0 голосов
/ 14 декабря 2018

Мой вызов JQuery AJAX не отображается в моем окне Flask.В моем приложении, когда я нажимаю кнопку с идентификатором #myId, она должна возвращать значение из своего атрибута «data».Мне трудно понять, почему данные не возвращаются.

Вот код JavaScript:

$(document).ready(function(){
    var clicked;
    $("#myId").click(function() {
        data = $(this).attr("data");
        $.ajax({
            type : 'POST',
            dataType: 'json'
            url : '/action',
            contentType: 'application/json;charset=UTF-8',
            data : {'data': data}
        });
    });
});

Вот мой вид колбы:

@app.route("/action", methods=["POST"])
def action():
if request.method == "POST":
    id = request.json['data']
    app.logger.debug(id)
return render_template("index.html")

Что я делаю неправильно?Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 14 декабря 2018

Вы должны преобразовать свои данные в строку, например JSON.stringify ({'data': data}).И вы забыли "," после "dataType: 'json'".

Следующий код приведен после исправления.

$(document).ready(function(){
  var clicked;
  $("#myId").click(function() {
     data = $(this).attr("data");
     $.ajax({
       type : 'POST',
       dataType: 'json',
       url : '/action',
       contentType: 'application/json;charset=UTF-8',
       data : JSON.stringify({'data': data})
     });
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...