早就听说过ajax的名头,但一直不知道是做什么的,查了好多资料才了解个大概,ajax不是一种具体的语言,而是一种技术,是Asynchronous JavaScript and XML的缩写。主要的功能就体现在这个异步上。
现在比较常用的场合是表单的异步提交。以前基本都用老式的action="blabla.php" method="post/get"方法,然后把表单整个提交给后台的处理页面,然后再返回本页面或者一个新页面。而用ajax就可以单独把表单post给后台页面,保持现有页面,表单数据有误的话,可以用js修改当前页面,提示错误,表单数据正确的话,可以用后台控制器跳转到新页面。
ajax在javascript上可以实现,但实现起来较为繁琐。JQuery将ajax相关的函数封装了起来,使用起来比较简单。
JQuery实现ajax有很多函数,最基本的是$.ajax函数:
$(document).ready(function(){
$("#b01").click(function(){
htmlobj=$.ajax({url:"/jquery/test1.txt",async:false});
$("#myDiv").html(htmlobj.responseText);
});
});
该方法是 jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。
$("input").keyup(function(){
txt=$("input").val();
$.post("demo_ajax_gethint.asp",{suggest:txt},function(result){
$("span").html(result);
});
});
$.post的语法如下:
jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)
dataType可选。规定预期的服务器响应的数据类型。默认执行智能判断(xml、json、script 或 html)。