bottle.py:通过javascript发送数据

时间:2011-04-28 10:38:38

标签: javascript xmlhttprequest bottle

基本上,我希望在我的网站上有一个交互式按钮,当点击它时,会将一些数据发送到服务器以便进行检查并显示响应(没有表格发送/页面重新加载)。

我认为它会是这样的:

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 :(得分:0)

您可以将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; 
   }
}));