通过ajax将视图发布到视图时,输入值未定义

时间:2012-02-24 09:16:23

标签: django jquery

当我从表格中的输入值发布数据时:

<script type="text/javascript">
    $.ajax({
             type:"POST",
             url:"{% url DrHub.views.ajxTest %}",
             data: {
                    start: $('#id_startTime').val(),
                    end: $('#id_endTime').val()
             },
             success: function(data){
                 alert(data);
                 console.log('Success!');
                 <!--$("#return").append(data);
             },
             error: function(xhr, ajaxOptions, thrownError){
                alert('error!'+thrownError);
            }
    });
</script>
views.py中的

def ajxTest(request):
   if request.is_ajax():
      if request.method == 'POST':
     return HttpResponse(simplejson.dumps({'message' : request.POST.get('start',False)}), mimetype='application/javascript')
   else:
      return render_to_response('DrHub/doctors/nutrition/test.html', context_instance=RequestContext(request))

它将数据警告为未定义 但是当我这样做时:

$.ajax({
         type:"POST",
         url:"{% url DrHub.views.ajxTest %}",
         data: {
                start: '8',
                end: '10'
         },

...

它提醒数据(8)

它出了什么问题?

1 个答案:

答案 0 :(得分:1)

我猜$('#id_startTime')有一个未定义的值。 $ .ajax将在加载后直接执行。所以你必须在执行ajax之前等待一些事件(例如提交表单)。