现在的位置: 首页 > 综合 > 正文

关于jquery 的ajax调用的一些总结(记录插入数据库成功,但ajax返回false)

2013年10月30日 ⁄ 综合 ⁄ 共 1096字 ⁄ 字号 评论关闭

 关于jquery 的ajax调用的一些总结(记录插入数据库成功,但ajax返回false)

 

ajax方法如下

function addFlexMarker(pageNum) {	
	         var flag = false;
                  $.ajaxSettings.async = false;
		$.getJSON("${ctx}/system/sysfilebookmarkadd.action", {fileId:fileCode,bookmark:pageNum}, function(json){
			flag = true;
		});
	   return flag;
         }

 

action代码如下:

@RequestMapping("/system/sysfilebookmarkadd.action")
	public void SysFileBookmarkAdd(HttpServletRequest request,HttpServletResponse response){
		String fileId = request.getParameter("fileId")==null?"0":(String)request.getParameter("fileId");
		String bookmark = request.getParameter("bookmark")==null?"1":(String)request.getParameter("bookmark");

		String userId = this.getLoginUser().getUserid();
		SysFileBookmark sim = new SysFileBookmark();
		sim.setfileId(Long.parseLong(fileId));
		sim.setbookMark(Long.parseLong(bookmark));
		sim.setOprUser(Long.parseLong(userId));
		SysFileBookmarkService.addItemMark(sim);
		//this.outString(response, "");
	}

 

addFlexMarker方法一直返回false,以为是异步执行的问题,加上了$.ajaxSettings.async = false;问题依旧,

数据虽然插入了数据库,但js方法的 flag=true一直没执行,

一开始猜测是action没有返回任何数据造成的,于是加上了this.outString(response, "");此时发现报错,原来action方法里没加response参数

加上HttpServletResponse response后,一切正常了。

抱歉!评论已关闭.