【jQuery教程】基于JQuery框架的AJAX

前几天发了个贴,分享了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="background:orange;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">POST提交</button>
<button id="test_get">GET提交</button>

JS:
1、引入jquery框架:
<scrīpt  type="text/javascrīpt" src="../js/jquery.js"></scrīpt>

2、构建AJAX,JQUERY的好处是不需要在XHTML中使用JS代码来触发事件了,可以直接封装在JS文件中:
<scrīpt type="text/javascrīpt">
//$.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+"<br />";
       str+="年龄:"+json.age+"<br />";
       str+="性别:"+json.sex+"<br />";
       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+"<br />工作:"+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);
                      });
           });
});
</scrīpt>

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

时间: 2024-12-06 04:06:53

【jQuery教程】基于JQuery框架的AJAX的相关文章

【jQuery教程】jquery简单体验

Jquery是继prototype之后又一个优秀的Javascript框架.对prototype我使用不多,简单了解过.但使用上jquery之后,马上被她的优雅吸引住了.有人使用这样的一比喻来比较prototype和jquery:prototype就像Java,而jquery就像ruby.实际上我比较喜欢java(少接触Ruby罢了)但是jquery的简单的实用的确有相当大的吸引力啊!在项目里我把jquery作为自已唯一的框架类包.使用其间也有一点点心得,其实这些心得,在jquery的文档上面也

【jQuery教程】jquery新手入门实例教程三ajax应用

我们在上一章 jquery新手入门实例教学二 用户注册(简单的表单验证) (/html/JQueryjiaocheng/200807/17-519.html) 里面有一行语句 $.get("php/user_register.php",{act:$(this).attr("ID"),v:$(this).val()},function(txt){                    msg.html(txt); }) 这个就是jquery ajax应用的简单实例 什

JQuery教程:简化JQuery

这是以前整理的一些代码,与JQer分享,希望对大家能有些帮助. 话说功能愈发强大的JQuery体积也不再小巧,55k(Minified)的大小虽然不能说很大,但如果用在一些小型项目或网站上,也不算小,那么我们何不根据自己项目特点,简化或改写JQuery呢,Follow me! 首先是JQuery的核心代码: 代码: //不完全一致,但实现手段大致如此(function(){  window._$ = window.$;  var $ = window.$ = function(s) {    r

【jQuery教程】jquery基础教程二(鼠标点击事件)

下面我们来看看jquery如何给 DOM 各个元素批量绑定事件 <SCRIPT LANGUAGE="JavaScript"> <!-- $(document).ready(function() {     $("div").click(function(){//$("div")就是页面中所有的 div标签       alert("Hello World!");     }) }) //--> <

jQuery教程:jQuery的核心

大家先不要看我的源代码,看看使用js是否能够做得出 [例子]要求:1)页面上一个按钮:2)点击后弹出窗口,我被点击了: 如下图: JavaScript代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http:

jQuery教程:jQuery核心方法的使用

今天我们再深入的学习一下jQuery的核心. jQuery对象访问: each(callback)//根据我的理解,each是jQuery中的一种循环机制.一般与this关键字配合使用.学过程序的朋友都知道程序中的循环方式有以下几种do...while().while().for(expression1,expression2,expression3)以及C#和javaEE中JSTL标签中独有的forEach循环.jQuery中的each循环与forEach循环类似.具体使用方法在本节案例中讲述

jQuery:收集一些基于jQuery框架开发的控件/jquery插件2

Horizontal accordion: jQuery基于jQuery开发,非常简单的水平方向折叠控件.主页:http://letmehaveblog.blogspot.com/2007/10/haccordion-simple-horizontal-accordion.html (无法找到)下载:http://letmehaveblog.blogspot.com/2007/10/haccordion-simple-horizontal-accordion.html 示例:http://let

jQuery使用总结 - jQuery组成和主要功能 1/4

Core jQuery 核心关注的两件事情:选择页面中元素(Selector).对元素执行操作(Events Effects CSS) jQuery UI 基于JQuery核心构建的界面库,主要归为如下3大类 Ø 效果 Effects-Enhanced effects beyond those provided by the core library Ø 交互Interactions-Mouse interactions, such as drag and drop, sorting, and

基于jquery ajax 用户无刷新登录方法详解_jquery

Ajax框架就是提供模块化实现Ajax功能的集合,Ajax框架可以是各种语言实现的(比如SAJAX有各种语言的实现),Ajax只是jquery中的一部分, 实例1 复制代码 代码如下: $.ajax({ type:'post',//可选get url:'action.php',//这里是接收数据的PHP程序 data:'data='dsa',//传给PHP的数据,多个参数用&连接 dataType:'text',//服务器返回的数据类型 可选XML ,Json jsonp script html