2011-04-28 4 views
2

기본적으로 내 웹 사이트에 대화 형 버튼이 있어야합니다. 클릭하면 양식을 보내지 않고/페이지를 확인하고 응답을 표시하기 위해 서버에 데이터를 보냅니다. 재 장전).bottle.py : 자바 스크립트를 통해 데이터 전송

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에서 데이터에 액세스하는 올바른 방법이 아닙니다.

어떻게 작동하는지 보여 주시면 대단히 감사하겠습니다.

+2

dojo 및 jquery와 같은 javascript 라이브러리를 사용하지 않는 이유는 무엇입니까? 그렇지 않으면, 다른 브라우저 사이에서 AJAX의 차이를 극복하기위한 추가적인 노력이 필요합니다. –

+0

작동하지 않는 것은 어떨까요? Chrome 개발 도구를 사용하여 요청/응답을 검사하십시오. – abraham

+0

죄송합니다.이 질문/문제는 이제 너무 오래되었으며 더 이상 세부 정보를 기억할 수 없습니다. – dagnelies

답변

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; 
    } 
})); 
관련 문제