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(主要):
代码: 复制内容到剪贴板
输入姓名:
输入年龄:
输入性别:
输入工作:
提交
ost提交
get提交
js:
1、引入jquery框架:
代码: 复制内容到剪贴板
2、构建ajax,jquery的好处是不需要在xhtml中使用js代码来触发事件了,可以直接封装在js文件中:
代码: 复制内容到剪贴板
//$.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);
});
});
});
php代码:
代码: 复制内容到剪贴板