基于JQuery框架的AJAXSubmitted

qizhicong2 2009-08-11 12:16:04
XML/HTML代码
<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">AJAX提交</button>
<button id="test_post">POST提交</button>
<button id="test_get">GET提交</button>



JavaScript代码
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
//$.ajax()方式
$(document).ready(function (){
$('#send_ajax').click(function (){ //直接把onclick事件写在了JS中,而不需要混在XHTML中了
var params=$('input').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);
});
});
});
</script>



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

嗯,再来一个例子:

JavaScript代码
<script type="text/javascript" src="jquery.js"></script>
<script LANGUAGE="JavaScript">
<!--
function myajax(ajaxurl){
$('#LoadingStatus').show();//显示load状态条,以体现数据正在load
//下面是强大的jQuery $.ajax对象。
//url即为即将获取数据的那个地址,请不要跨域(如你的ajax网页的域是http://www.host1.com你的ajax将请求的url是http://www.host2.com则为跨域,这样的请求将返回错误)
$.ajax({url: ajaxurl,
type: 'GET',
dataType: 'html',//html or xml返回的数据是html还是xml对象
timeout: 20000,//超时时间设置,这里我们设置的是20秒 20 000毫秒
error: function(){alert('error');$('#LoadingStatus').hide(2000);
//如果请求错误如何处理
//我们例子中的处理是:如果出现错误,则提示错误,然后隐藏load状态跳
},
success: function(html){
//请求成功的处理
//如果请求成功:1.隐藏load条 2.将请求的数据写入到div中。
// do something with xml
$('#LoadingStatus').hide(2000);
$('#detail').html(html);
}
});//end of ajax
}

//-->
</script>
XML/HTML代码
<div id="LoadingStatus" style="background:red;color:#fff;float:right;width:100px;display:none;border:1px solid #000;z-index:1000;">Loading...</div>
<div id="detail" style="height:100px;width:100px;border:1px solid #ccc;"></div>
<input TYPE="text" NAME="url" id='url'/><input TYPE="button" value="load" onClick="myajax($('#url').val());"/>




欢迎到这里来和我交流php技术

...全文
72 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
woshiguozhongbin 2009-08-11
自己做的jquery 插件?

很好。有机会教下小弟。
回复
CunningBoy 2009-08-11
广告帖?
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告