недопустимый литерал для int () с основанием 10: данные формы из ajax - PullRequest
0 голосов
/ 24 апреля 2018
@server.route('/bet', methods=['GET','POST'])
def bet():
with sqlite3.connect("steamid.db") as con:
    if g.user:
        steamdata = get_steam_userinfo(g.user.steam_id)
        c = con.cursor()
        c.execute("SELECT coins FROM user WHERE steam_id=?", (steamdata['steamid'],))
        user_coins = c.fetchall()
        user_coins = user_coins[0][0]
        steam_id = steamdata['steamid']
        steam_nick = steamdata['personaname']
        authlink = '''
            <a href="/logout">logout</a>
            '''
        coins = int(request.form.get('betting_coins', ''))
        print(coins)

Я получаю ошибку (недопустимый литерал для int () с базой 10 :). Дело в том, что когда я печатаю монеты в консоли, он говорит 200, которое должно быть допустимым целым числом, а также показывает, что данные были получены в запросе, поэтому монеты не должны быть нетипов.

Как я разместил данные:

function bet() {
var betting_coins = document.getElementById('bet_coins').value;
        alert(betting_coins);
        $.ajax({
            url: "/bet",
            type: "POST",
            data: {betting_coins: betting_coins}
        });

        //location.href = "/bet";
    }

1 Ответ

0 голосов
/ 24 апреля 2018

У вас есть:

coins = int(request.form.get('betting_coins', ''))

по умолчанию '', что не является допустимым литералом для int(). Попробуйте изменить его на 0 или что-то еще. Или вы можете добавить try/catch.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...