Jquery 构建AJAX视图以跟踪用户

Jquery 构建AJAX视图以跟踪用户,jquery,python,ajax,django,acts-as-follower,Jquery,Python,Ajax,Django,Acts As Follower,我正在学习Django的示例教程,无法学习用户。我单击“跟随”按钮,但什么也没发生。我已经一遍又一遍地检查了那个部分,复制并粘贴了代码。它仍然不起作用 以下是我的看法 这是我的html块中的ajax 这是url ** ** 感谢您的帮助您将状态值“ok”拼错为“ko” 请将其更改为“ok” except User.DoesNotExist: return JsonResponse({'status':'ok'}) return JsonResponse({

我正在学习Django的示例教程,无法学习用户。我单击“跟随”按钮,但什么也没发生。我已经一遍又一遍地检查了那个部分,复制并粘贴了代码。它仍然不起作用

以下是我的看法

这是我的html块中的ajax

这是url

**

**


感谢您的帮助

您将状态值“ok”拼错为“ko” 请将其更改为“ok”

    except User.DoesNotExist:
            return JsonResponse({'status':'ok'})
    return JsonResponse({'status':'ok'})
我希望在签入js代码时这是一个简单的错误

视图应该是这样的


get请求的视图在哪里,您在其中初始化数据“id”和数据“action”?在post视图上设置断点时,收到的数据是什么?可以肯定的是,在javascript控制台中,返回了“ko”状态,确认调用了view方法?@dirkgroten我真的不太理解你的问题。你能说得更清楚一点吗?你的脚本是发布id:$this.data'id',首先是如何填充$this.data'id的?由于$this指向HTML页面中的a.follow元素,我想知道它是如何定义的,以及哪个视图呈现该模板。我只是在这里猜测,数据'id'和数据'action'是空的,因为在你的user_follow方法中,它将返回一个状态ko,这就是为什么我还问你是否在你的浏览器中看到状态ko被返回。浏览器返回{status:ok}在一个类似的函数中,有一个like按钮,但是follow函数给出了一个错误'500 Internal Server error',这意味着您的django代码在某个地方崩溃了,因此您应该能够在控制台中看到回溯代码。什么是回溯?我做了,但没有解决问题,我检查了教程,它是“ko”,但不是“ok”
 {% block domready %}
$('a.follow').click(function(e){
e.preventDefault();
$.post('{% url "user_follow" %}',
{
id: $(this).data('id'),
action: $(this).data('action')
},
function(data){
if (data['status'] == 'ok') {
var previous_action = $('a.follow').data('action');
// toggle data-action
$('a.follow').data('action',
previous_action == 'follow' ? 'unfollow' : 'follow');

// update total followers
var previous_followers = parseInt(
$('span.count .total').text());
$('span.count .total').text(previous_action == 'follow' ?
previous_followers + 1 : previous_followers - 1);
}
}
);
});
{% endblock %}
#Users
    url(r'^user/$', views.user_list, name = 'user_list'),
    url(r'^users/follow/$', views.user_follow, name='user_follow'),
    url(r'^users/(?P<username>[-\w]+)/$', views.user_detail, name = 'user_detail'),
    except User.DoesNotExist:
            return JsonResponse({'status':'ok'})
    return JsonResponse({'status':'ok'})
@ajax_required
@require_POST
@login_required
def user_follow(request):
    user_id = request.POST.get('id')
    action = request.POST.get('action')
    if user_id and action:
        try:
            user = User.objects.get(id=user_id)
            if action == 'follow':
                Contact.objects.get_or_create(user_from=request.user,user_to=user)
            else:
                Contact.objects.filter(user_form=request.user,user_to=user).delete()
            return JsonResponse({'status':'ok'})
        except User.DoesNotExist:
            return JsonResponse({'status':'ko'})
    return JsonResponse({'status':'ko'})