jQuery+Ajax+Struts2.0 重点看
基于jQuery的Ajax用法:
基于JQuery框架的AJAX
在JQuery中,AJAX有三种实现方式:$.ajax(),$.post,$.get()。
在JQuery中,AJAX有三种实现方式:$.ajax(),$.post,$.get()。
(1)
使用$.post实现Ajax向页面发送数据 ($.get()的用法与此相似)
$.post(’save.cgi’, {text: ‘my string’,number: 23}, function() {
alert(’Your data has been saved.’);
});
使用$.post实现Ajax向页面发送数据 ($.get()的用法与此相似)
$.post(’save.cgi’, {text: ‘my string’,number: 23}, function() {
alert(’Your data has been saved.’);
});
(2)
如果您确实需要编写一些复杂的 Ajax 脚本,那么需要用到 $.ajax() 函数。您可以指定 xml、
如果您确实需要编写一些复杂的 Ajax 脚本,那么需要用到 $.ajax() 函数。您可以指定 xml、
script、html 或者 json,jQuery 将自动为回调函数准备合适的结果,这样您便可以立即使用该结果。还可以指定 beforeSend、error、success 或者 complete 回调函数,向用户提供更多有关Ajax 体验的反馈。
$.ajax() 使 Ajax 由复杂变简单
$.ajax({
url: ‘document.xml’,
type: ‘GET’,
dataType: ‘xml’,
timeout: 1000,
error: function(){
alert(’Error loading XML document’);
},
success: function(xml){
// do something with xml
}
});
另一实例:
XHTML(主要):
代码: 复制内容到剪贴板
<div id="result" style="backgroundrange;border:1px solid
代码: 复制内容到剪贴板
<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
1、引入jquery框架:
代码: 复制内容到剪贴板
<script type="text/javascript" src="../js/jquery.js"></script>
2、构建AJAX,JQUERY的好处是不需要在XHTML中使用JS代码来触发事件了,可以直接封装在JS
文件中:
代码: 复制内容到剪贴板
<script type="text/javascript">
代码: 复制内容到剪贴板
<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);
}
var str="姓名:"+json.username+"";
str+="年龄:"+json.age+"";
str+="性别:"+json.sex+"";
str+="工作:"+json.job;
$("#result").html(str);
}
(三)Struts2 + jQuery 的简单例子使用
JSON插件提供了一种名为json的ResultType,一旦为某个Action指定了一个类型为json的Result,
则该Result无需映射到任何视图资源。
因为,JSON插件允许我们在JavaScript中异步调用Action,且负责将Action里的状态信息序列化成
因为,JSON插件允许我们在JavaScript中异步调用Action,且负责将Action里的状态信息序列化成
JSON格式的数据,并将该数据返回给客户端页面的JavaScript 。这样就可以完成Ajax交互。
1、将struts2的json插件加入web工程的lib,jsonplugin的下载地址:
2、struts.xml添加专为ajax使用的package
<package name="ajax" extends="json-default">
<action name="ajaxRequest" class="org.david.struts2.HelloWorld">
<result type="json"></result>
</action>
</package>
3、在页面中引入 jquery的js文件库
<action name="ajaxRequest" class="org.david.struts2.HelloWorld">
<result type="json"></result>
</action>
</package>
3、在页面中引入 jquery的js文件库
<SCRIPT type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
<SCRIPT type="text/javascript">
function clickButton()
{
var url = 'ajaxRequest.action';
var params = {
name:$('#name').attr('value'),
contactEmail:$('#contactEmail').attr('value'),
subject:$('#subject').attr('value'),
content:$('#content').attr('value')
}; //通过id获得输入值
jQuery.post(url, params, callbackFun, 'json');
}
//url:响应aciton;params:传入参数;callbackFun:响应完成后的回调函数;
<SCRIPT type="text/javascript">
function clickButton()
{
var url = 'ajaxRequest.action';
var params = {
name:$('#name').attr('value'),
contactEmail:$('#contactEmail').attr('value'),
subject:$('#subject').attr('value'),
content:$('#content').attr('value')
}; //通过id获得输入值
jQuery.post(url, params, callbackFun, 'json');
}
//url:响应aciton;params:传入参数;callbackFun:响应完成后的回调函数;
function callbackFun(data)
{
alert("SUCCESS");
}
</SCRIPT>
{
alert("SUCCESS");
}
</SCRIPT>
4、action逻辑与普通的ation写法无大区别。
JSON将Action里的状态信息序列化成JSON格式的数据
posted on 2013-11-17 10:03 fantiejun0436 阅读(114) 评论(0) 收藏 举报
浙公网安备 33010602011771号