Django返回json和上下文数据

时间:2016-03-09 17:27:01

标签: javascript json ajax django

我有一个用ajax处理的表单,我需要从视图中返回,因为我做了一些验证。对视图的调用工作正常,但如果我尝试从javascript(json)的视图获得响应,我会松开上下文数据。

这是我的ajax调用,运行正常(返回202 OK),但如果data.valid == false,则显示消息,但模板中没有上下文数据。

$.ajax({
     type: "POST",
      url: '/validate_create/',
     contentType: 'application/x-www-form-urlencoded;charset=utf-8',
     csrfmiddlewaretoken: $('input[name=csrfmiddlewaretoken]').val(),
     data: frmData,
     dataType: "json",
     success: function(data)
      {
          if (data.valid== true){

            alert ('validation ok');
          }else{
            alert ('validation error');

          }
        },
     error: function (data) {
         alert('err');
    }

   });

这是我从视图中返回的原始内容(不返回任何数据):

return render_to_response('shop/checkout.html', ctx, context_instance=RequestContext(request))

在检查了其他帖子之后我做了这个但是没有返回上下文(在这种情况下在会话中的购物车)

context = {}
context['data'] = render_to_string("shop/checkout.html", {'cart':    cart,'valid':valid})
return HttpResponse(json.dumps(context), content_type = "application/json")      

UPDATE:上面的代码没问题,ajax收到了json的响应。我的视图出了问题导致会话被删除。

顺便说一句,在ajax调用data.valid在这个条件下运行正常但是如果我的console.log是未定义的。

0 个答案:

没有答案