什么是AJAX?
AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。
简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示。
关于 jQuery 与 AJAX
jQuery 提供多个与 AJAX 有关的方法。
通过 jQuery AJAX 方法,您能够使用 HTTP Get 和 HTTP Post 从远程服务器上请求文本、HTML、XML 或 JSON - 同时您能够把这些外部数据直接载入网页的被选元素中。
jQuery - AJAX load() 方法
jQuery load() 方法是简单但强大的 AJAX 方法。
load() 方法从服务器加载数据,并把返回的数据放入被选元素中。
$(selector).load(URL,data,callback);
$("button").click(function(){ $("#div1").load("demo_test.txt",function(responseTxt,statusTxt,xhr){ if(statusTxt=="success") alert("外部内容加载成功!"); if(statusTxt=="error") alert("Error: "+xhr.status+": "+xhr.statusText); }); });
jQuery - AJAX get() 和 post() 方法
两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。
- GET - 从指定的资源请求数据
- POST - 向指定的资源提交要处理的数据
GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。
$.get(URL,callback);
$("button").click(function(){ $.get("demo_test.php",function(data,status){ alert("数据: " + data + " 状态: " + status); }); });
POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据。
$.post(URL,data,callback);
$("button").click(function(){ $.post("/try/ajax/demo_test_post.php", { name:"数据", url:"http://www.baidu.com" }, function(data,status){ alert("数据: " + data + " 状态: " + status); }); });
前端代码:
$.ajax(
{
url: "{% url 'home' %}",
data: Data,
type: "POST",
dataType:"xml",
success: function (data) {
alert(data.code);
alert(data.message);
},
complete:function () {
alert("数据上传完成")
},
error: function (data) {
console.info("同步数据执行出错......");
}
}
);
后台代码:
def home(request):
if request.method == "GET":
print("home get")
return render(request, 'home.html')
elif request.method == "POST":
print("home post")
print(request.POST)
data = {"code": 200, "message": "数据接收成功!"}
return JsonResponse(data)