博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSH框架下ajax调用action并生成JSON再传递到客户端【以get和post方式提交】
阅读量:5294 次
发布时间:2019-06-14

本文共 2245 字,大约阅读时间需要 7 分钟。

需要完成的任务:

主要是把JSP页面上图片ID传给服务器端,服务器读取cookie看是否有username,如果有则根据ID读取MongoDB数据库,读出图片URL,再存放到mysql中的collection数据库中,实现了收藏功能。

第一步:就是使用ajax实现前后台的交互。

jsp页面代码:

js代码:

    2. 与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

     然而,在以下情况中,请使用 POST 请求:

  • 无法使用缓存文件(更新服务器上的文件或数据库)
  • 向服务器发送大量数据(POST 没有数据量限制)
  • 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

    3.true还是false,true是表示异步请求,异步请求就是,请求完服务器,可以不用只等待服务器响应,可以去执行其他操作,直到收到服务器响应。 

    4.send()将请求发送到服务器

*/myAjaxObject.open("post","collect.action?date="+num,true);myAjaxObject.onreadystatechange = actionResponse; //看下面函数myAjaxObject.send();} //获取服务器响应 /* responseText 获得字符串形式的响应数据。 还有其他属性,自行查找 这里我只测试读取一个数据,多数据可以循环读取 */function actionResponse(){    if(myAjaxObject.readyState==4){        if(myAjaxObject.status==200){            var returnJSONString = myAjaxObject.responseText;            var returnJSON = JSON.parse(returnJSONString);            var showString = "";            /*for(var i=0;i

structs.xml代码:

后台action代码:

package action;import java.io.IOException;import java.util.ArrayList;import java.util.List;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class collection extends ActionSupport{    public String collect() throws IOException{
     //发送数据 List listString = new ArrayList(); listString.add("zx"); JSONArray json = JSONArray.fromObject(listString); System.out.println(json.toString()); ServletActionContext.getResponse().setContentType("text/html"); ServletActionContext.getResponse().setCharacterEncoding("utf-8"); ServletActionContext.getResponse().getWriter().printf(json.toString()); ServletActionContext.getResponse().getWriter().flush(); ServletActionContext.getResponse().getWriter().close();      //接收数据 String num = ServletActionContext.getRequest().getParameter("date"); System.out.println(num); return null; }}

以上代码实现了简单的数据接收发送。以上的后台发送的数据类型是list中存放String,根据自己需要。可以list中存放Bean,Map中存放字符串或Bean发送。

同理,前台传送数据类型也可以根据需要改变类型

例如:

var  info={

num:"data1",

num2:"data2",

}

完事了。接下来我要去实现读取cookie数据,判断用户是否处于登录状态,希望对你有帮助,有错误或改进的地方欢迎指正。

 

转载于:https://www.cnblogs.com/zhxuxu/p/9028249.html

你可能感兴趣的文章
A. Party
查看>>
软件工程 网络15个人阅读作业1
查看>>
PDI-KETTLE-3:数据库连接
查看>>
学习Android过程中遇到的问题及解决方法——AS为xutils添加依赖
查看>>
Unity 游戏框架搭建 (九) 减少加班利器-QConsole
查看>>
FZU1004-Number Triangle经典动归题,核心思路及代码优化
查看>>
HDU-1532 Drainage Ditches,人生第一道网络流!
查看>>
安卓电量优化之WakeLock锁机制全面解析
查看>>
[Java]内存回收机制框架图
查看>>
使用PHP类库PHPqrCode生成二维码
查看>>
[bzoj2653]middle
查看>>
求字符的个数
查看>>
数据结构上机1
查看>>
SQL Server case表达式的用法
查看>>
多校联合(5)
查看>>
Python hex() 函数
查看>>
PyCharm快捷键大全
查看>>
CVTE面经
查看>>
sql 有条件计数
查看>>
Python学习笔记-Day2-Python基础之元组操作
查看>>