jquery中封装了一些ajax请求的方法,很实用。
比如.ajaxComplete()——请求完成时.ajaxError()——请求失败时.ajaxSend()——在Ajax请求发送时附加一个function去执行.ajaxStart()——请求开始时,.ajaxStop()——请求结束时.ajaxSuccess()——请求成功时.load()——从服务端加载数据并将返回的HTML替换到选择的元素中jQuery.post()——使用HTTP POST请求加载服务端数据.serialize()——将form元素集编码成一个字符串以便提交.serializeArray()——将form元素集编码成一个键值对数组jQuery.param()——创建一个序列化的数组或对象,使得适用于一个URL查询字符串或者Ajax请求jQuery.getScript()——从服务端加载一个js文件,然后执行它jQuery.getJSON()——从服务端加载用JSON编码过的数据jQuery.get()——从服务端加载数据简单说其中两点一、.ajaxStart()和.ajaxStop()
- <!DOCTYPE HTML>
- <html>
- <head>
- <script type="text/javascript" src="test/jquery-1.7.2.min.js"></script>
- <script type="text/javascript">
- $(document).ready(function(){
- $(\'.log1\').ajaxStart(function() {
- $(this).text(\'Triggered ajaxStart handler.\');
- });
- $(\'.log2\').ajaxStop(function() {
- $(this).text(\'Triggered ajaxStop handler.\');
- });
- $(\'.trigger\').click(function() {
- $(\'.result\').load(\'xixi.html\');
- });
- });
- </script>
- </head>
- <body>
- <div class="trigger">Trigger</div>
- <div class="result"></div>
- <div class="log1"></div>
- <div class="log2"></div>
- </body>
- </html>
代码中class为result的元素load了一个xixi.html,此文件中的内容随便,只要存在这个文件就行。js执行方法的顺序是
先
- $(this).text(\'Triggered ajaxStart handler.\');
然后
加载晚xixi.html里的内容到class为result的元素中
最后
- $(this).text(\'Triggered ajaxStop handler.\');
- <!DOCTYPE HTML>
- <html>
- <head>
- <script type="text/javascript" src="test/jquery-1.7.2.min.js"></script>
- <script type="text/javascript">
- $(document).ready(function(){
- $(\'.log1\').ajaxStart(function() {
- $(this).text(\'Triggered ajaxStart handler.\');//【1】
- });
- $(\'.log2\').ajaxStop(function() {
- $(this).text(\'Triggered ajaxStart handler.\');//【5】
- });
- $(\'.result\').ajaxSend(function() {
- $(this).text(\'Triggered ajaxSend handler.\');//【2】
- });
- $(\'.result\').ajaxComplete(function() {
- $(this).text(\'Triggered ajaxComplete handler.\');//【4】
- });
- $(\'.result\').ajaxSuccess(function() {
- $(this).text(\'Triggered ajaxSuccess handler.\');//【3】
- });
- $(".result").ajaxError(function() {
- $(this).text( "Triggered ajaxError handler." );
- });
- $(\'.trigger\').click(function() {
- $(\'.result\').load(\'xixi.html\');
- });
- });
- </script>
- </head>
- <body>
- <div class="trigger">Trigger</div>
- <div class="result"></div>
- <div class="log1"></div>
- <div class="log2"></div>
- </body>
- </html>
上述代码中还是class为result的加载一个html文件。
执行顺序代码中已经标出
如果请求过程中出现什么错误,比如说文件不存在等,就会执行.ajaxError()中的方法而不是.ajaxSuccess()中的。
以前总是对ajax认识很乱,现在有个全面的认识,总结一下,希望共同学习,另外请求中的方式是HTTP GET还是HTTP POST也是值得研究的。
jquery中介绍ajax的地址ajax的使用