首页 > 解决方案 > 使用烧瓶的错误请求

问题描述

我正在开发一个类似于 FB 的应用程序。我正在尝试呈现朋友的个人资料。当我单击应呈现个人资料页面的链接时,我收到错误请求错误

我正在使用烧瓶、python、html 和 JS

这是服务器端的python代码:

@app.route('/friends_Profile', methods=["GET"])
def friends_profile():
    userid = (request.args['x'],)
    print(userid)
    print(type(userid))

    conn = sqlite3.connect('database.db')
    c = conn.cursor()
    c.execute("SELECT Name FROM users WHERE rowid = ?", userid)
    info = c.fetchall()

    print(info[0][0])



    return render_template('friends-profile.html', friend=info)



这是html:


  <div class='friends'>
            <b>You are Friends with:</b>
            {% for x in range(friends|length) %}
            <li><a id='{{friends[loop.index-1][0][0]}}'
             href='/friends_Profile' name='{{friends[loop.index-1][0][1]}}_{{friends[loop.index-1][0][2]}}'>{{friends[loop.index -1][0][1]}} {{friends[loop.index -1][0][2]}}</a></li>

            {% endfor %}

      </div>
        </div>

这是JavaScript:

$(document).ready(function(){
  $("a").click(function(){

    let x = $(this).attr('id');
    console.log(x);
    $.ajax("/friends_Profile?x="+x)

  });
});

这是朋友个人资料页面:

{% extends "layout.html" %}

{% block title %}

    Friend

{% endblock %}

{% block main %}

    <h1>This is {{friend}}'s profile</h1>

{% endblock %}

为什么我收到错误的请求?我知道问题出在 request.args['x'] 但不知道如何解决它......

标签: javascriptpythonhtmlflask

解决方案


在你做的python代码中friend = info

但是在你做的html上friends|length

要修复错误,请将 python 代码更改为friends = info


推荐阅读