2012-07-25 2 views
0

아주 쉬운 아약스 호출을 구현하려고하지만 첫 번째 이후로 뭔가 잘못되어 왜 찾을 수 없습니다. 드롭 다운 목록에서 사용자가 선택한 후 양식의 다른 필드가 해당 쿼리 다음에 완료되기를 원합니다. 여기 내 코드는 다음과 같습니다 JQuery와 : 홈페이지와django 및 ajax가 데이터를 반환했습니다.

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#id_veh_id1').bind('click', function() { 
      var val1 =$("#id_veh_id1").val(); 
      $.get(""+val1+"/", function(data) { 
       result=data.veh_length; 
       document.getElementById('id_vlength').value=result; 
      }); 
     }); 
    }); 
</script> 

: url(r'^(?P<user_id>\d+)/main_Webrequests/(?P<veh_id>\d+)/$', 'auth.views.test', name='test')

및보기 :

def test(request, veh_id, user_id): 
    message = {"veh_length": ""} 
    if request.is_ajax(): 
     vehicle1 = Vehicles.objects.get(id = veh_id) 
     veh_length = vehicle1.vlength 
     message['veh_length'] = vehicle1.vlength 
    else: 
     message = "yoohoo" 
     json = simplejson.dumps(message) 
    return HttpResponse(json, mimetype='application/json') 

나는 모든 것이 잘 작동하는 것 같다 veh_id 대신 veh_length의 그것을 시도하지만, 어쩌면 내가 때 모든 것을 잘 이해하지 못했습니다. 난 당신이 ..... 장고 코드에서 JSON 데이터를 직렬화 더 참조 할 수 있도록이 링크를 확인할 필요가 있다고 생각

+0

Ajax보기의 응답을 확인할 수 있습니까? (예 : 요청을 수행하는 동안 Chrome의 검사기에서 네트워크 탭으로 이동) –

+0

예, veh_length와 함께 HTTP 500 오류가 발생합니다. – marlen

+0

오류가있는 라인을 가리켜 야하는'DEBUG = True'가 있으면 응답 탭에서 스택 추적을 볼 수도 있습니다! –

답변

0

simplejson을 JSON에 Decimal를 덤프 할 수 없습니다, 당신은 할 수 있어야한다

message['veh_length'] = "%d" % vehicle1.vlength 
관련 문제