当前位置:编程学习 > php >>

jquery与 ajax 简单例子

jquery与 ajax 简单例子

基于JQuery框架的AJAX
PS:本人这篇始发于PHPCHINA,发现被很多人转了,但却未注明出处,想了一下,还是自己转到这里来。
前几天发了个贴,分享了prototype框架关于AJAX方面的学习过程。然后有人说jquery框架更方便。

正好项目中准备使用thickbox,于是干脆抛弃prototype.js,看起jquery.js了。JQuery确实不错,体积比Prototype小了许多,而且使用起来更方便更灵活。有人说Prototype像JAVA,正统;而JQuery像Ruby,灵活,更趋于OOP。

小试了下AJAX,感觉比prototype简洁多了,在JQuery中,AJAX有三种实现方式:$.ajax(),$.post,$.get()。

XHTML(主要):
代码: 复制内容到剪贴板
<div id="result" style="backgroundrange;border:1px solid red;width:300px;height:400px;"></div>

<form id="formtest" action="" method="post">

<p><span>输入姓名:</span><input type="text" name="username" id="input1" /></p>

<p><span>输入年龄:</span><input type="text" name="age" id="input2" /></p>

<p><span>输入性别:</span><input type="text" name="sex" id="input3" /></p>

<p><span>输入工作:</span><input type="text" name="job" id="input4" /></p>

</form>

<button id="send_ajax">提交</button>

<button id="test_post">OST提交</button>

<button id="test_get">GET提交</button>
JS:
1、引入jquery框架:
代码: 复制内容到剪贴板
<script  type="text/javascript" src="../js/jquery.js"></script>
2、构建AJAX,JQUERY的好处是不需要在XHTML中使用JS代码来触发事件了,可以直接封装在JS文件中:
代码: 复制内容到剪贴板
<script type="text/javascript">

//$.ajax()方式

$(document).ready(function (){

   $('#send_ajax').click(function (){ //直接把onclick事件写在了JS中,而不需要混在XHTML中了

          var params=$('input').serialize(); //序列化表单的值,与prototype中的form.serialize()相同

         $.ajax({

               url :'ajax_test.php',  //后台处理程序

               type:'post',    //数据发送方式

             dataType:'json',  //接受数据格式

               data:params,  //要传递的数据

               success:update_page  //回传函数(这里是函数名)

               });

        });

});

function update_page (json) { //回传函数实体,参数为XMLhttpRequest.responseText

       var str="姓名:"+json.username+"";

       str+="年龄:"+json.age+"";

       str+="性别:"+json.sex+"";

       str+="工作:"+json.job;

       $("#result").html(str);

}

//$.post()方式:

$(function (){//$(document).ready(function (){ 的简写

      $('#test_post').click(function (){

                $.post('ajax_test.php',

               {username('#input1').val(),age('#input2').val(),sex('#input3').val(),job('#input4').val()},

                function (data){ //回传函数

                var myjson='';

               eval('myjson='+data+';');

               $('#result').html("姓名:"+myjson.username+"

工作:"+myjson['job']);

               });

       });

});

$.get()方式:

$(function (){

         $('#test_get').click(function (){

                     $.get('ajax_test.php',

                     {username("#input1").val(),age("#input2").val(),sex("#input3").val(),job("#input4").val()},

                     function  (data) {

                           var myjson='';

                           eval("myjson="+data+";");

                           $("#result").html(myjson.job);

                      });

           });

});

</script>
PHP代码:
代码: 复制内容到剪贴板
<?php

$arr=$_POST; //若以$.get()方式发送数据,则要改成$_GET.或者干脆_REQUEST

$myjson=json_encode($arr);

echo $myjson;

?>

补充:Php教程,Php常用代码 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,