jsp中利用jquery+ajax在前后台之间传递json格式参数
jsp中利用jquery+ajax在前后台之间传递json格式参数
发布时间:2016-12-29 来源:查字典编辑
摘要:经过一段时间的实验琢磨,终于将前后台之间的参数传递搞定了,实验所用工具myeclipse+structs1.2。总结:容易出错的地方:1.a...

经过一段时间的实验琢磨,终于将前后台之间的参数传递搞定了,实验所用工具myeclipse+structs1.2。

总结:容易出错的地方:1.ajax中data的格式一定要写对,这里举了两种形式,一种是 data:{参数:“”} 另一种是 data:“参数=”+变量。

2.后台传递到前台数据转化为json格式,步骤要掌握好。

3.在js使用jquery必须要引用进来,否则会不执行jquery语句,这个问题困扰了我半天才解决掉,菜鸟的悲哀啊。jquery引用流程如下:网上下载jQuery.js,jquery-1.4.2.min.js两个js文件,放在webroot下的文件夹js中,引用代码如下:

<script src="<%=path%>/js/jQuery.js" language="javascript"type="text/javascript"></script>

<script src="<%=path%>/js/jquery-1.4.2.min.js" language="javascript"type="text/javascript"></script>

其中<%=path%>就代表了根目录wenroot文件目录。

4.ajax的url路径必须要写对。

5.当前台没有传递参数到后台时,data可以不用写,或用data:{}代替。

前台代码如下:

复制代码 代码如下:

<span> </span>var checkValue=$("#s1").val();

复制代码 代码如下:

<span> </span>//这个var是获取的id问s1的select选择的opention值

$

.ajax({

type : "post",

url : "getShowDataList.do",

async : true,

//data:{data:""},这种也可以

data :

"filepath="+checkValue

复制代码 代码如下:

<span> </span>//data:中的是传递到后台的数据,这里数据格式为json格式

,

dataType : "json",

error : function() {

//alert(checkValue);

alert('加载失败!');

},

success : function(json) {

复制代码 代码如下:

<span> </span>//这里的json是后台传递过来的数据,这里数据格式也是json格式

前台获取后台的json格式list数据集,这段写在function中

复制代码 代码如下:

var points = [];//创建数组

for ( var i = 0; i < json.length; i++) {

var str = new OpenLayers.LonLat(json[i].lon,

json[i].lat);

points.push(str);

}

后台代码:

复制代码 代码如下:

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

String filepath = request.getParameter("filepath");

复制代码 代码如下:

<span> </span>//获取前台传递过来的filepath

System.out.println(filepath);

List<Show> datalist = getShowData(filepath);

response.setContentType("appliction/json;charset=utf-8");

JSONArray jsonArray = JSONArray.fromObject(datalist);

复制代码 代码如下:

try {

PrintWriter out = response.getWriter();

out.print(jsonArray);

for (int i = 0; i < jsonArray.size(); i++) {

System.out.println(jsonArray.get(i));

}

out.flush();

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新JSP教程学习
热门JSP教程学习
编程开发子分类