django ajax发送post请求

Posted xsan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django ajax发送post请求相关的知识,希望对你有一定的参考价值。

第一种:将csrf_token放在from表单里

    <script>
        function add_competion_goods() {
            $.ajax({
                url: "{% url ‘add_competition_goods‘ %}",
                type: "POST",
                dataType: "json",
                data: $(‘#add_competition_goods_from‘).serialize(),//直接将from表单打包
                success: function () {
                    $(‘#add_competition_modal‘).modal(‘hide‘);
                    alert(‘secces‘)
                }
            })
        }
    </script>

第二种:发送前添加头部信息

    <script>
        function submit_read_save_order_data() {
            var excel_file = document.getElementById("order_excel").files;
            var excel_file_size = excel_file[0][‘size‘];
            console.log(excel_file_size);
            if (excel_file_size > 0 & excel_file_size < 60000000) {
                alert("已开始上传");
                $(‘button#upload_data‘).attr(‘disabled‘, ‘disabled‘);
                {#console.log(excel_file_size);#}
                var fd = new FormData();
                fd.append(‘excels‘, excel_file[0]);
                $.ajax({
                        url: "{%url ‘read_save_order_data‘ %}",
                        type: "POST",
                        dataType: "json",
                        data: fd,
                        processData: false,// tell jQuery not to process the data
                        contentType: false,// tell jQuery not to set contentType
                        beforeSend: function (xhr, setting) {
                            xhr.setRequestHeader("X-CSRFToken", "{{ csrf_token }}")
                        },
                        success: function (msg) {
                            alert(msg)
                        },
                        error: function (msg) {
                            alert(msg)
                         }
                    }
                )
            } else {
                alert("文件为空,或大小超出60M,请检查")
            }
        }
    </script>

以上是关于django ajax发送post请求的主要内容,如果未能解决你的问题,请参考以下文章

Django - 使用 POST 请求仅上传模型中的图片

在 Django 中使用 Ajax Get/Post 方法

无法将 ajax json 发布请求发送到 django 视图

从 ajax 向 python 函数发送 post 请求但收到 GET 请求?

在 Django 中的 AJAX POST 请求后重新加载模板

django之ajax