bottle.py: отправка данных через JavaScript - PullRequest
2 голосов
/ 28 апреля 2011

В принципе, я хочу, чтобы на моем веб-сайте была интерактивная кнопка, которая при нажатии отправляет некоторые данные на сервер для проверки и отображения ответа (без отправки формы / перезагрузки страницы).

Я думал, что это будет что-то вроде:

function checkData()
{
    var req = new XMLHttpRequest();
    var conf = document.getElementById('my_text_area').value;

    req.open("GET", 'check_data', true);
    req.onreadystatechange = function () 
    {
        var pre = document.getElementById('check_data_out');
        pre.innerHTML = req.responseText;
    }

    req.send(conf);
    return false;
}

А на стороне сервера:

@get('/check_data')
def check_data():
    # Process the content and answer something...
    content = str(request.is_ajax) + ' - ' + str(request.GET) + ' - ' + str(request.POST)
    return content

Но это, очевидно, не работает.Либо это не правильный способ отправки данных через javascript, либо неправильный способ доступа к ним в bottle.py.

Высоко ценится демонстрация того, как это работает.

1 Ответ

0 голосов
/ 28 апреля 2011

Вы можете использовать dojo для клиентской логики.

var button = dojo.byId('button_id'); // button_id refers to the id of the button you want to click

dojo.connect(button,'onclick',dojo.xhrGet({
   url: '/check_data',
   handleAs : 'text',
   load : function(response){
       dojo.byId('button_id').innerHTML = response; 
   }
}));
...