2010-07-08 3 views
1

장고 모델 폼을 가지고 있지만 사용자가 reguar 제출 버튼을 클릭하는 것을 원하지 않습니다. 대신 제출 버튼을 만들고 Ajax/jQuery를 사용하여 양식 데이터를 게시합니다. 게시 할 데이터는 양식 데이터와 UI에 수집 한 기타 정보가 혼합 된 것입니다. 하지만 ... html 양식이 제출되어야하는 형식화 된 POST 데이터를 얻으려면 어떻게해야합니까? JSON 또는 jQuery 객체처럼 얻을 수 있다면 더 좋습니다!Django 폼의 형식화 된 POST 데이터를 가져 오는 방법은 무엇입니까?

답변

1

이 경우 jQuery.post()의 두 번째 인수로 전달할 수있는 jQuery.serialize()을 사용할 수 있습니다.

$('#formid').submit(function() { 
    $.post('serverUrl', $(this).serialize(), callbackFunction); 
    return false; 
}); 

또는 jQuery Form plugin을 사용하면 더 쉽게 작업 할 수 있습니다.

+0

좋습니다! 하지만이 serialize 된 {param1 : 1, param2 : 2} 같은 다른 개체와 함께 섞어야합니다 또 다른 문제는

개체를 만들 때마다 $ .post() 호출 할 때마다 실제로 내 양식을 게시 할 것입니다. 페이지는 좋지 않습니다! – Roger

+0

1. 우물쭈물하기 전에'$ (this) .serialize()'를 자바 스크립트 객체로 가져 와서 수동으로 필드를 추가 할 수 있습니다; 2. 정말로, 그렇지 않습니다. '$. post'는 AJAX submit이고,'return false'는 폼의 디폴트 submit 액션이 수행되지 않는다는 것을 의미합니다. –

+0

@ 로저, @ 대니얼 말이 맞다. 'var data = $ (this) .serialize(); data.param1 = 1;'. 'return false;는 폼의 기본 동작을 차단해야합니다. – BalusC

관련 문제