小编wor*_*m2d的帖子

在 Django 中获取 POST 值

我有一个ajax提交(GET查询)。但是它改变了我的数据库,所以聪明的人告诉我我应该使用POST代替{% csfr_token %}.

获取查询:

$(document).on('submit','#follow', function(e){
    var $button = $(this).find('button');
    e.preventDefault();
    $.ajax({
        url:'/event/{{ event.id }}/',
        data: "add={{ event.id }}",
        success:function(){
             $('#follow').hide();
             $('#unfollow').show();
        }
    })
});
Run Code Online (Sandbox Code Playgroud)

视图.py

...
event = get_object_or_404(Event, id=event_id)
user = request.user
    if request.GET.get('add'):
        event.users.add(user)
        event.save()
    if request.GET.get('remove'):
        event.users.remove(user)
        event.save()
...
Run Code Online (Sandbox Code Playgroud)

所以我添加了type:"post",andcsrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken])到 data 但我不知道用什么来代替if request.GET.get('add'):and if request.GET.get('add'):。我试过了,if request.POST.get('add'):但没有用。那么如何将它if与 POST 值一起使用呢?

更新。

好的,我现在拥有的... 模板:

<form id="unfollow" {% if user not in event.users.all …
Run Code Online (Sandbox Code Playgroud)

django ajax jquery post

4
推荐指数
1
解决办法
1万
查看次数

提交后更改按钮 - jquery,django

我有一个ajax"跟随"按钮.它工作正常,提交后按钮的属性disabled变为"disabled".但是我想在提交之后将"关注"按钮更改为"取消关注"按钮,就像在Twitter中一样.这该怎么做?我尝试更改按钮的属性"表单"以提交另一个表单:

success:function(){
                $button.attr('form','unfollow');
Run Code Online (Sandbox Code Playgroud)

但不幸的是它不起作用.

模板event.html:

   {% if user in event.users.all %}
            <form id="unfollow">
            {% csrf_token %}
            <input type="hidden" value="{{ event.id }}" name="remove">
            <button type="submit" class="btn btn-warning btn-block">{% trans "Unfollow"%}</button>
            </form>
    {% else %}
            <form id="follow">
            {% csrf_token %}
            <input type="hidden" value="{{ event.id }}" name="add">
            <button type="submit" class="btn btn-primary btn-block">{% trans "Follow"%}</button>
            </form>
    {% endif %}

    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-beta1/jquery.min.js"></script>
    <script type="text/javascript">

    $(document).on('submit','#unfollow', function(e){
        var $button = $(this).find('button');
        e.preventDefault();
        $.ajax({
            url:'/event/{{ event.id }}/',
            data: "remove={{ event.id }}", …
Run Code Online (Sandbox Code Playgroud)

django ajax jquery

2
推荐指数
1
解决办法
721
查看次数

标签 统计

ajax ×2

django ×2

jquery ×2

post ×1