- 浏览: 606395 次
文章分类
- 全部博客 (411)
- 常用工具 (21)
- 喜好 (14)
- 英语 (3)
- java (51)
- ext (4)
- css (44)
- php (34)
- window (7)
- jquery (21)
- js (31)
- struts (4)
- tomcat (1)
- struts2 (11)
- 网络 (4)
- c# (7)
- linux (27)
- oracle (15)
- tag标签 (5)
- 生成静态页面 (6)
- sql (12)
- hibernate (13)
- DesignPattern (3)
- spring (2)
- flex (17)
- excel应用 (1)
- 报表 (2)
- 业界 (2)
- 数据建模 (1)
- 平板 (1)
- ppt (1)
- rich (1)
最新评论
-
youngdze:
受教了,谢谢!
十步解决php utf-8编码 -
DiLiya:
感谢你的讲解;帮了大忙了!
解决-innerHTML无法在TBODY中使用 -
eppen:
强的没话说。帮了大忙。感谢goby2008 ,感谢google ...
解决-innerHTML无法在TBODY中使用 -
cxs4808:
rr
flex 设计模式 -
liuxingvsyou:
3个jQuery弹出窗口插件
通过ajax访问后台----参数通过post方式传递
1,前台页面:
<div id="testDiv">
<table>
<tr><td onclick="testAjaxPost();">...</td></tr>
... ... ... ...
</table>
</div>
2,JS方法:
// ajax对象
var xmlHttp;
function testAjaxPost() {
var url = "DevelopWeek!dealChartData.action";
// 下面为需要传递的参数,encodeURIComponent为解决中文乱码的方法
var param = "kpiID="+kpiID+"&kpiType="+kpiType+"&strFourWeek="+strFourWeek+"&kpiDesc="+encodeURIComponent(kpiDesc) + "&kpiDimUniStr=is null";
ajaxCommon(url, param, 'freshenKpiChart');
}
// ajax局部刷新
function ajaxCommon (url, param, methodName) {
createHttpRequest();
if (methodName == 'handleState') {
xmlHttp.onreadystatechange = handleState;
xmlHttp.open('post', url, true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); // post方式传递参数,就必须加上这一句
xmlHttp.send(param); // post方式传递参数,就必须把参数放到send里
}
if (methodName == 'freshenKpiChart') {
// xmlHttp2是另外一个请求,可以创建多个
xmlHttp2.onreadystatechange = freshenKpiChart;
xmlHttp2.open('post', url, true);
xmlHttp2.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); // post方式传递参数,就必须加上这一句
xmlHttp2.send(param); // post方式传递参数,就必须把参数放到send里
}
}
// 创建ajax对象
function createHttpRequest () {
try {
// Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
} catch (e) {
// Internet Explorer
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
}
function handleState () {
try {
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
var data = xmlHttp.responseText; // 取得后台返回的数据,可以是JSON数据,拼的表格,单个字符串等等
var dataArray = new Array();
// dataArray[0]为fourWeekList,dataArray[1]为weekNumList,dataArray[2]为theadList,dataArray[3]为maxNum
dataArray = data.split('==');
document.getElementById('testDiv').innerHTML = dataArray[1]; // 局部刷新表格,假设后台返回来的数据是拼成的表格
}else{
window.alert("请求页面异常");
}
}
} catch(error) {
error.message;
}
}
function freshenKpiChart () {
try {
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
var res = xmlHttp2.responseText; // 取得后台返回的数据,可以是JSON数据,拼的表格,单个字符串等等
.................................
}else{
window.alert("请求页面异常");
}
}
} catch(error) {
error.message;
}
}
3,后台的java代码:
DevelopWeek.java中的dealChartData方法
public String dealChartData() throws IOException {
HttpServletResponse response = ServletActionContext.getResponse();
HttpServletRequest request = ServletActionContext.getRequest();
// 方式一:循环取出post方式传来的参数
for (Enumeration e = request.getParameterNames(); e.hasMoreElements();) {
e.hasMoreElements();
String h = (String) e.nextElement();
String v = request.getParameter(h);
String mm = java.net.URLDecoder.decode(v, "UTF-8");
System.out.println("请求参数: " + h + " = " + mm);
}
/* // 方式二:直接通过request也可以取出来
System.out.println("kpiID: " + request.getParameter("kpiID"));
System.out.println("kpiType: " + request.getParameter("kpiType"));
System.out.println("kpiDesc: " + request.getParameter("kpiDesc"));
System.out.println("strFourWeek: " + request.getParameter("strFourWeek"));
System.out.println("kpiDimUniStr: " + request.getParameter("kpiDimUniStr"));
*/
// 方式三:struts2中不用自己取值,会自动set到值栈中,可以直接得到
/* System.out.println("kpiID: " + this.kpiID);
System.out.println("kpiType: " + this.kpiType);
System.out.println("strFourWeek: " + this.strFourWeek);
System.out.println("kpiDimUniStr: " + this.kpiDimUniStr);
*/
/////////////////其实,不管是通过get,还是post方式提交请求,都是通过request来取值的////////////////////
StringBuilder kpiWeekChartData = new StringBuilder();
kpiWeekChartData = selectTableChartData();
String table_ChartListJson = Utils.toJsonString(this.table_ChartList);
response.setCharacterEncoding("UTF-8");
// 需要返回多组数据,可以用某些特定的字符(==)区分,前台可以通过该字符(==)用split分割返回值
response.getWriter().write("{" + "\"chartTableJsonData\"" + ":" + table_ChartListJson + "}" + "==" + kpiWeekChartData);
return null;
}
发表评论
-
eclipse 复制粘贴时很慢(转)
2012-08-20 22:06 1724Window > Preferences > Ja ... -
java compiler level does not match the version of the installed java project
2012-06-13 22:26 746java compiler level does not ma ... -
Sql 取当天或当月的记录
2011-05-16 15:04 1759Sql 取当天或当月的记录 今天晚上加班,遇到要把数据库中的 ... -
java --IP地址段的过滤
2011-05-16 15:00 2430IP地址段的过滤 昨天接到领导指示,要对地市 ... -
eclipse快捷键大全
2010-11-13 16:38 7061. 常用快捷键(1)Ctrl+Space ... -
eclipse教程
2010-10-28 10:59 792http://www.vogella.de/eclipse.h ... -
Dialup
2010-10-14 23:42 1090package ch2.util; import jav ... -
o00000000
2010-10-13 17:22 883package com.goby.editor; imp ... -
Java Map 集合类简介(转)
2010-10-07 14:40 943了解最常用的集合类型之一 Map 的基础知识以及如何针对您 ... -
深入研究java.lang.ThreadLocal类(转)
2010-10-06 14:54 526深入研究java.lang.ThreadLocal类 ... -
java设计模式
2010-09-10 15:27 667java设计模式 -
JSP 获取当前URL方法
2010-08-09 17:01 2097方法一: request.getHeader(" ... -
解决java/jsp乱码的一种转换方法
2010-07-25 16:28 8811.jsp的contentType 的设置 ... -
org.apache.commons.fileupload.DiskFileUpload
2010-07-22 00:23 12621.setSizeMax方法setSizeMax方法用于设置请 ... -
JSP读写文本文件
2010-07-13 14:28 2438JSP读写文本文件 ... -
JAVA调用MYSQL存储过程
2010-06-21 23:58 1835JAVA调用MYSQL存储过程 工程视图: 代码清单 ... -
Java实现文件复制
2010-05-11 15:53 1009import java.io.FileInputStream ... -
switch...case语句怎样接字符串啊???
2010-04-01 16:45 1843参考: <script language=& ... -
flex 网站
2010-02-06 01:00 659http://www.sumopaint.com/app/ ... -
将汉字转化为汉语拼音的小工具
2010-01-25 21:20 1249网上乱转,偶然看到一个很有意思的小工具,名字叫pinyin4j ...
相关推荐
本文将深入讲解如何在jQuery AJAX中向后台传递数组参数,并提供示例代码。 首先,理解问题的关键在于JavaScript数组在传递给后台时,如果数组内包含的是对象,会被转化为`[object Object]`的字符串形式。这是因为...
1. **创建Ajax请求**:设置URL,参数,数据类型等,然后使用Unigui提供的API发起POST请求。 2. **定义回调函数**:在请求完成后,定义一个函数来处理服务器的响应。这可能包括解析响应数据,检查状态码,处理错误等...
"前台Ajax与后台Json传递"这个主题就是关注如何高效地实现这一交互过程。Ajax(Asynchronous JavaScript and XML)技术允许我们在不刷新整个页面的情况下,实现局部数据的更新,而Json(JavaScript Object Notation...
AJAX(Asynchronous JavaScript and XML)的核心是通过JavaScript在后台与服务器进行少量数据交换,无需重新加载整个网页。 在ASP.NET中,我们通常创建一个WebMethod或使用ASP.NET MVC的ActionResult来作为AJAX的...
**Ajax 概述** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。...通过对这个项目的学习,开发者可以深入理解Ajax在实际项目中的应用和实现方式。
### AJAX 前台JS调用后台方法详解 随着互联网技术的发展,前后端分离成为一种趋势,而异步请求作为前后端交互的重要手段之一,在实际开发中占据着重要的位置。AJAX(Asynchronous JavaScript and XML)是一种在无需...
在$.ajax方法中,通过data参数传递键值对给后端服务,type参数指定了发送请求的方式为POST。在success回调函数中,可以处理服务器返回的数据,通常是JSON格式的数据。根据返回数据中字段SuccessCode的值,执行不同的...
- **发送请求**:通过`send()`方法向服务器发送请求,如果是GET请求,参数可以为空;如果是POST请求,需要传递数据。 - **接收响应**:在请求发送后,可以通过监听`onreadystatechange`事件,检查`readyState`属性...
通过以上知识点,我们可以理解Ajax的基本原理和使用方式。在“ajax--测试”项目中,可能包含了使用Ajax进行数据交互的示例代码,通过实践这些代码,可以加深对Ajax的理解,并能应用于实际项目中。
对于POST请求,数据则在`send()`方法中作为参数传递。 - **接收响应**:通过监听`onreadystatechange`事件,当`readyState`属性变为4(表示请求已完成)且`status`为200(表示请求成功)时,读取`responseText`或`...
本文将详细介绍使用jQuery AJAX实现三种不同方式的前后台数据传输,以及如何处理界面内容的传值和返回值。 1. **基本的AJAX调用** jQuery提供了`$.ajax()`方法,它是所有其他AJAX功能的基础。例如,我们可以使用...
我们可以通过XMLHttpRequest对象的`open()`方法设置请求类型(GET或POST)、URL和是否异步执行,然后用`send()`方法发送请求。服务器返回的数据可以通过`responseText`或`responseXML`属性获取。 4. **数据解析与...
在上面的代码中,我们使用 `$.ajax()` 方法来调用后台方法 `RecordData`,并将参数 `browersType` 传递给后台方法。 在后台,需要使用 `[System.Web.Services.WebMethod()]` 特性来标记方法为可被调用的。示例代码...
虽然XML最初被提及在Ajax技术中,但在实际应用中,JSON(JavaScript Object Notation)更常被用来传递数据,因为它的解析效率更高且更易于使用。 ### Ajax的历史 Ajax技术起源于Web前端的发展。网景公司(Netscape...
总结一下,"GetAndPostExample"是一个展示AJAX GET和POST请求的实例,通过阅读源码和理解示例,开发者可以更好地理解和运用AJAX技术,为Web应用添加更丰富的交互功能。同时,这个例子也提醒我们,在进行AJAX请求时,...
对于POST请求,数据通常在`send()`方法中作为参数传递。 3. **处理响应**:通过监听`onreadystatechange`事件,当请求状态改变时,检查`readyState`(表示请求进度)和`status`(表示HTTP状态码),确认请求是否成功...
在本示例中,主要讲解如何通过AJAX将JSON格式的参数传递给服务器,并接收服务器返回的JSON数据。 首先,前端(客户端)使用jQuery的AJAX方法来发送请求。在jQuery中,`$.ajax()`函数用于发起异步HTTP请求。关键的...
本篇将详细介绍如何通过AJAX来传递一个List对象数组,并解析其中涉及到的关键技术点。 #### 二、知识点概览 1. **前端JavaScript处理List对象数组** 2. **使用jQuery的$.ajax方法发送POST请求** 3. **后端接收List...
4. **发送请求**:调用`send()`方法,如果使用POST方式,可以传递参数。 5. **处理响应**:在回调函数中,检查`readyState`属性(表示请求的当前状态)和`status`属性(表示HTTP状态码,200表示成功),并读取`...