正文
Ajax请求示例
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
模板
{% for row in host_list %}
<tr>
<td class="c1">{{ row.id }}</td>
<td>{{ row.servername }}</td>
<td>{{ row.serverip }}</td>
<td>{{ row.serverpassword }}</td>
<td>编辑</td>
<td class="i1">删除</td>
</tr>
{% endfor %}
</table>
</div>
</div> <script src="/static/jquery-3.1.1.js"></script>
<script>
$(".i1").each(function () {
$(this).click(function () {
var b = $(this).parent().find("td").get(0).innerText;
console.log(b);
$(this).parent().remove();
$.ajax({
url:'/host-ajax',
type:"POST",
data:{"id":b},
success:function (data) {
var obj = JSON.parse(data);
alert(obj.data)
}
})
})
})
</script>
路由系统
url(r'^host-ajax', views.host_ajax),
视图函数
def host_ajax(request):
import json
res = {"status":True,"error":None,"data":None}
try:
if request.method =="POST":
print("执行 post方法 》》")
nid = request.POST.get("id")
print("nid:>>>",nid)
models.HostInfo.objects.filter(id=nid).delete()
res["data"] = "delete success"
else:
pass
except Exception as e:
res["status"]= False
res["error"] = "rquest error"
return HttpResponse(json.dumps(res))
Ajax
$.ajax({
url: '/host', #要提交到那个URL,触发那个函数
type: "POST", #提交方式
data: {'k1': 123,'k2': "root"}, #提交的数据
success: function(data){ #回调函数,即只有服务器端返回信息以后会自动执行,必要带一个参数,这个参数代表服务端返回的字典
// data是服务器端返回的字符串
var obj = JSON.parse(data); #把服务器端返回的字符串变成一个json字典的格式对象
}
})
建议:永远让服务器端返回一个字典
return HttpResponse(json.dumps(字典))