javascript - Ajax + Django : Ajax is not recognized

标签 javascript jquery django ajax django-forms

我不明白为什么我的 AJAX 请求在方法执行良好时没有被 JQUERY 执行。

我有一个表单,链接到一个 JQuery 函数事件,使用 AJAX 方法将数据发送到 Django 函数。

当我单击保存按钮时,我的页面会在浏览捕获事件的功能时重新加载。它可以很好地显示警报,但不会使用 AJAX 发送任何信息。 我的功能正确吗?这是 Django 的问题吗?

这是我的 html 表单:

<form method="post" id="insert_idea__form">
                        {% csrf_token %}
                        <div class="row">
                            <div class="col-md-12">
                                <div class="form-group">
                                    <label for="insert_idea__titre">Titre de votre idée</label>
                                    <input type="text" class="form-control" id="insert_idea__title" required="">
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12">
                                <div class="form-group">
                                    <label for="insert_idea__content">Contenu de l'idée</label>
                                    <textarea class="form-control" rows="5" id="insert_idea__content" name="centent"></textarea>
                                </div>
                            </div>                                                                        
                        </div> 
                        <button type="submit" class="btn btn-sm btn-primary">Sauvegarder</button>  
                    </form>

这是我的 JQUERY 函数:

<script type="text/javascript">         
$("#insert_idea__form").on('submit',(function(e)

    alert("Stop");

    $.ajax({
        url: '{% url "insert_idea" %}',
        type : 'POST',
        data: {
            'title': $("#insert_idea__title").val(), 
            'content': $("#insert_idea__content").val()
        },
        dataType: 'json',
        success: function (data) {
            alert('success');
        }
    });

}));
</script> 

这是我在 Django 上的 url.py :

urlpatterns = [
    url(r'^ajax/insert_idea/$', ideas.insert_idea, name="insert_idea"),
]

这是我的观点:

def insert_idea(request):
    title = request.GET.get('title')
    centent = request.GET.get('centent')

    return JsonResponse()

如果你能帮我理解为什么没有数据发送到 View ?为什么页面会重新加载?

谢谢, 艾略特

最佳答案

问题是发送的数据中缺少 token csfr

关于javascript - Ajax + Django : Ajax is not recognized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56941026/

相关文章:

javascript - jQuery 对象和 DOM 元素有什么区别? .get() 和 .index() 的区别?

javascript - Navigator.geoLocation.getCurrentPosition 不工作的问题

javascript - JQuery:使用自定义 .load() 将 HTML 插入相应的选择器

主页上的 django allauth 登录和注册表单

django - 如何限制 django-taggit 只接受小写单词?

django - 将具有反向一对一字段的 Django 模型序列化为 JSON

javascript - 具有条件逻辑的 JQuery .css() 函数

javascript - 限制或延迟 Google Places API 自动建议

javascript - IndexedDB 未保存在数据库中

php - 将输出的 Html 按钮与输出的 Php/MySQL 数据匹配