<script> $(".eq").on("click",function () { $.ajax({ url:"/eq/", type:"POST", data:{ csrfmiddlewaretoken:{{ csrf_token }}, //必須寫在模板中,纔會被渲染 a:$(".a").val(), b:$(".b").val() }, success:function (data) { $(".c").html(data); } }) }) </script>
//模板頁面中必需要有 {% csrf_token %}
<script> $(".eq").on("click",function () { $.ajax({ url:"/eq/", type:"POST", data:{ csrfmiddlewaretoken:$("input:first").val(), a:$(".a").val(), b:$(".b").val() }, success:function (data) { $(".c").html(data); } }) }) </script>
<script src="/static/jquery.cookie.js"></script> //必須先引入它 <script> $("#btn").on("click",function () { $.ajax({ url:"/lianxi/", type:"POST", headers:{"X-CSRFToken":$.cookie('csrftoken')}, data:$("#f1").serialize() } ) }) </script>
FormData是什麼呢?html
FormData
.利用FormData對象
,咱們能夠經過JavaScript用一些鍵值對來模擬一系列表單控件,咱們還可使用XMLHttpRequest的send()
方法來異步的提交這個"表單".比起普通的ajax,使用FormData
的最大優勢就是咱們能夠異步上傳一個二進制文件.
模板中的代碼:jquery
<h3>Ajax上傳文件</h3> <p><input type="text" name="username" id="username" placeholder="username"></p> <p><input type="file" name="upload_file_ajax" id="upload_file_ajax"></p> <button id="upload_button">提交</button> {#注意button標籤不要用在form表單中使用#} <script> $("#upload_button").click(function(){ var username=$("#username").val(); var upload_file=$("#upload_file_ajax")[0].files[0]; var formData=new FormData(); formData.append("username",username); formData.append("upload_file_ajax",upload_file); $.ajax({ url:"/upload_file/", type:"POST", data:formData, contentType:false, processData:false, success:function(){ alert("上傳成功!") } }); }) </script>
views中的代碼:ajax
def index(request): return render(request,"index.html") def upload_file(request): print("FILES:",request.FILES) print("POST:",request.POST) return HttpResponse("上傳成功!")