文章目录
  1. 1. templates 模板
  2. 2. url
  3. 3. views

在web项目中,ajax运用非常频繁,今天就给大家展示下Django ajax Post的使用方法

templates 模板

index.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<html>
<header></header>
<body>

<p>name: <input type="text" name="nickname" /></p>
<input class="name_submit" type="submit" value="Submit" />
<div class="name_value"></div>

</body>

<script src="/static/js/jquery.js"></script>
<script type="text/javascript">

$(".name_submit").click(function(){
var nickname = $("input[name='nickname']").val();
$.ajax({
url:"/nickname",
type:"post",
data:{"nickname":nickname},
dataType:"json",
success:function(data){
$(".name_value").text("")
$(".name_value").append("名字为:"+data)
}

}); // Ajax End
});

</script>


</html>

显示如下:

html

当点击提交按钮时,就执行ajax,把获取的nickname传递到/nickname url中。

url

1
2
3
4
5
6
7
8
9
10
11
12
13
from django.conf.urls import patterns, include, url

from django.contrib import admin
from views import index,nickname
admin.autodiscover()

urlpatterns = patterns('',
# Examples:
url(r'^$', index),
url(r'^nickname$', nickname),
url(r'^admin/', include(admin.site.urls)),

)

从这里可以看到/nickname URL是views文件中的nickname函数

views

1
2
3
4
5
6
7
8
9
10
11
12
#coding=utf-8
from django.shortcuts import render, render_to_response
from django.http import HttpResponseRedirect, HttpResponse
from django.template import Template,Context

def index(request):
if request.method == 'GET':
return render_to_response("index.html")
def nickname(request):
if request.method == 'POST': #当request为POST的时候
nickname = request.POST.get('nickname','') #获取ajax POST的nickname值
return HttpResponse(nickname) #为了方便显示,直接在浏览器显示nickname

nickname函数 当时POST的时候,获取nickname值,然后为了方便显示就直接使用return HttpResponse(nickname) 直接展示出来nickname值

文章目录
  1. 1. templates 模板
  2. 2. url
  3. 3. views