基于JQuery框架的AJAX

基于JQuery框架的AJAX

正好项目中准备使用thickt3,于是干脆抛弃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;
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值