6

我有一个 ajax 调用,它设置 request.user.my_field = value

当 ajax 成功时,我重新加载页面,location.reload(True) 我希望request.user.my_field视图中的函数现在已更新,但它具有旧值。

我怎样才能解决这个问题?

编辑

ajax 调用:

$.ajax({
    type: 'POST',
    url: '{% url editor_select %}',
    data: {'editor_type':$(this).val(),
           success: function(response_data) {                                                                                                                                                                                                                   
               location.reload(true);                                                                                                                                                                                                                           
           }                                                                                                                                                                                                                                                    
          }                                                                                                                                                                                                                                                     
});     

第一种观点:

def editor_select(request):
    """                                                                                                                                                                                                                                                                         
    called when user changes editor type to post question/answer                                                                                                                                                                                                                
    """

    editor_type = CharField().clean(request.POST['editor_type'])
    request.user.editor_type = editor_type
    request.user.save()

第二种观点:

def second_view(request):
    print 'ask, editor_type:', request.user.editor_type

我发现 AuthenticationMiddleware (将 request.user 设置为 request),在 ajax 调用和 location.reload() 之间没有被调用

所以嗯???

4

2 回答 2

4

在退出视图之前保存模型。

request.user.save()
于 2013-07-25T05:12:14.590 回答
0

哇射我..

success:在里面data,它连续请求了两页。

于 2013-07-25T06:37:00.747 回答