基于JQuery框架的AJAX

看代码,看注释

XML/HTML代码
  1. <div id="result" style="background:orange;border:1px solid red;width:300px;height:400px;"></div>  
  2. <form id="formtest" action="" method="post">  
  3. <p><span>输入姓名:</span><input type="text" name="username" id="input1" /></p>  
  4. <p><span>输入年龄:</span><input type="text" name="age" id="input2" /></p>  
  5. <p><span>输入性别:</span><input type="text" name="sex" id="input3" /></p>  
  6. <p><span>输入工作:</span><input type="text" name="job" id="input4" /></p>  
  7. </form>  
  8. <button id="send_ajax">AJAX提交</button>  
  9. <button id="test_post">POST提交</button>  
  10. <button id="test_get">GET提交</button>  

 

JavaScript代码
  1. <script type="text/javascript" src="jquery.js"></script>   
  2. <script type="text/javascript">   
  3. //$.ajax()方式   
  4. $(document).ready(function (){   
  5.    $('#send_ajax').click(function (){ //直接把onclick事件写在了JS中,而不需要混在XHTML中了   
  6.           var params=$('input').serialize(); //序列化表单的值   
  7.           $.ajax({   
  8.                url :'ajax_test.php',  //后台处理程序   
  9.                type:'post',    //数据发送方式   
  10.                dataType:'json',   //接受数据格式   
  11.                data:params,   //要传递的数据   
  12.                success:update_page  //回传函数(这里是函数名)   
  13.                });   
  14.         });   
  15. });   
  16. function update_page (json) { //回传函数实体,参数为XMLhttpRequest.responseText   
  17.        var str="姓名:"+json.username+"<br />";   
  18.        str+="年龄:"+json.age+"<br />";   
  19.        str+="性别:"+json.sex+"<br />";   
  20.        str+="工作:"+json.job;   
  21.        $("#result").html(str);   
  22. }   
  23. //$.post()方式:   
  24. $(function (){ //$(document).ready(function (){ 的简写   
  25.       $('#test_post').click(function (){   
  26.                 $.post('ajax_test.php',   
  27.                {username:$('#input1').val(),age:$('#input2').val(),sex:$('#input3').val(),job:$('#input4').val()},   
  28.                 function (data){ //回传函数   
  29.                 var myjson='';   
  30.                eval('myjson='+data+';');   
  31.                $('#result').html("姓名:"+myjson.username+"<br />工作:"+myjson['job']);   
  32.                });   
  33.        });   
  34. });   
  35. //$.get()方式:   
  36. $(function (){   
  37.          $('#test_get').click(function (){   
  38.                      $.get('ajax_test.php',   
  39.                      {username:$("#input1").val(),age:$("#input2").val(),sex:$("#input3").val(),job:$("#input4").val()},   
  40.                      function  (data) {   
  41.                            var myjson='';   
  42.                            eval("myjson="+data+";");   
  43.                            $("#result").html(myjson.job);   
  44.                       });   
  45.            });   
  46. });   
  47. </script>  

 

PHP代码
  1. <?php   
  2. $arr = $_POST//若以$.get()方式发送数据,则要改成$_GET.或者干脆:$_REQUEST   
  3. $myjson=json_encode($arr);    
  4. echo $myjson;   
  5. ?>  

嗯,再来一个例子:

JavaScript代码
  1. <script type="text/javascript" src="jquery.js"></script>   
  2. <script LANGUAGE="JavaScript">   
  3.   <!--   
  4.         function myajax(ajaxurl){   
  5.         $('#LoadingStatus').show();//显示load状态条,以体现数据正在load   
  6. //下面是强大的jQuery $.ajax对象。   
  7. //url即为即将获取数据的那个地址,请不要跨域(如你的ajax网页的域是http://www.host1.com你的ajax将请求的url是http://www.host2.com则为跨域,这样的请求将返回错误)   
  8.         $.ajax({url: ajaxurl,   
  9.                 type: 'GET',   
  10.                 dataType: 'html',//html or xml返回的数据是html还是xml对象   
  11.                 timeout: 20000,//超时时间设置,这里我们设置的是20秒 20 000毫秒   
  12.                 error: function(){alert('error');$('#LoadingStatus').hide(2000);   
  13.                 //如果请求错误如何处理   
  14. //我们例子中的处理是:如果出现错误,则提示错误,然后隐藏load状态跳   
  15.                     },   
  16.                 success: function(html){   
  17. //请求成功的处理   
  18. //如果请求成功:1.隐藏load条 2.将请求的数据写入到div中。   
  19.                     // do something with xml   
  20.                     $('#LoadingStatus').hide(2000);   
  21.                     $('#detail').html(html);   
  22.                     }   
  23.                 });//end of ajax   
  24.         }   
  25.            
  26.   //-->   
  27. </script>  
XML/HTML代码
  1. <div id="LoadingStatus" style="background:red;color:#fff;float:right;width:100px;display:none;border:1px solid #000;z-index:1000;">Loading...</div>  
  2. <div id="detail" style="height:100px;width:100px;border:1px solid #ccc;"></div>  
  3. <input TYPE="text" NAME="url" id='url'/><input TYPE="button" value="load" onClick="myajax($('#url').val());"/>  

图片附件:
大小: 3.95 K
尺寸: 246 x 78
浏览: 11 次
点击打开新窗口浏览全图

Tags: jquery, ajax, js

« 上一篇 | 下一篇 »

只显示10条记录相关文章

jQuery获取表单各元素的值及其AJAX应用 (浏览: 632, 评论: 0)
30分钟搞定jQuery(E文) (浏览: 361, 评论: 0)
jQuery中文入门指南,学习笔记 (浏览: 928, 评论: 0)
放弃xajax,投入jQuery (浏览: 773, 评论: 0)
仿XP菜单TaskMenu(很帅) (浏览: 1463, 评论: 0)
php的ajax框架xajax入门与试用 (浏览: 1931, 评论: 0)
基于jQuery的面向dom的ajax编程 (浏览: 1924, 评论: 0)
XAJAX 编程入门实例两则 (浏览: 1113, 评论: 0)
xajax会员注册实例 (浏览: 1252, 评论: 0)
XAJAX的一些使用心得 (浏览: 2215, 评论: 0)

Trackbacks

点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5

2条记录访客评论

引用 nickol 说过的话:
应该还要考虑下中文参数吧,会乱码的
淡水测试时,使用的是utf8编码,ie7下没有发生乱码情况

Post by 淡水河边 on 2008, April 25, 10:25 AM 引用此文发表评论 #1

应该还要考虑下中文参数吧,会乱码的

Post by nickol on 2008, April 25, 7:14 AM 引用此文发表评论 #2


发表评论

评论内容 (必填):