Ajax请求示例

时间:2023-03-10 07:51:50
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(字典))