js 不走正常套路

zb51500618 2016-07-21 06:30:35
js在 调试的时候很好,但正常运行 老是不进 后台方法 ,我试了 直接跳转 ,post ,ajax 都进不到后台方法里面去,只有用浏览器 debug的时候在 ajax 或者跳转的哪里打个断点 让他一步步走 他才进后台方法 。让人很头疼 。代码如下

function shelf(state){
var offCheckBox = document.getElementsByName("commId");
var value = new Array();
for(var i = 0; i < offCheckBox.length; i++){
if(offCheckBox[i].checked)
value.push(offCheckBox[i].value);
}

$.ajax({
type: "post",
url: "<%=path%>/commodity/commShelf",
data:"state="+state+"&check="+value,
success: function(msg){
$("#form2").submit();
},
error:function(msg){
$("#form2").submit();
}
})
}




<button class="search_btn_right download_margin" onclick="shelf(1)" >上架所有商品</button>
页面上就是一个按钮 ,勾选商品然后点 这个按钮 进入方法。

后台运行没有问题,一直就卡在这里 不知道怎么解决 ,谁来帮我指点迷津,求!




后台代码如下

/**
* 获取商品列表
*
*/
@RequestMapping("/getCommList")
public String getCommList(HttpServletRequest request, HttpSession session, Model model) {
String beginDate = request.getParameter("beginDate");
String endDate = request.getParameter("endDate");
String skuid = request.getParameter("skuid");
String currentPage = request.getParameter("curr");
String rowsPerPage = request.getParameter("toRows");
String state = request.getParameter("inlineRadioOptions");
Properties p = PropertiesUtil.UPLOAD_PROPERTIES;
String url = p.getProperty(ConstantUtil.FILE_REMOTE);
Integer states = 0;
try {
// 取出登录用户
Seller user = (Seller) session.getAttribute(What.SESSION_LOGIN_SELLER);
if (user == null) {
return null;
}
Commodity comm = new Commodity();

if (state != null && !state.isEmpty()) {
switch (Integer.parseInt(state)) {
case 0:
comm.setCheckState(0);
states = 0;
break;
case 1:
comm.setCheckState(1);
states = 1;
break;
case 2:
comm.setCheckState(2);
states = 2;
break;
case 3:
comm.setState(0);
states = 3;
break;
case 4:
comm.setState(1);
states = 4;
break;
}
model.addAttribute("state", states);
} else {

model.addAttribute("state", 1);
comm.setCheckState(1);
}
SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd");
comm.setSellerId(user.getId());
Pagination page = new Pagination();
page.getCurrentPage();
page.getStart();
if (currentPage != null && !currentPage.isEmpty()) {
page.setCurrentPage(Integer.parseInt(currentPage));

}
if (rowsPerPage != null && !rowsPerPage.isEmpty()) {
page.setRowsPerPage(Integer.parseInt(rowsPerPage));
}
if (skuid != null && !skuid.isEmpty()) {
comm.setSkuid(skuid);
model.addAttribute("skuid", skuid);
}
if (beginDate != null && !beginDate.isEmpty()) {

comm.setBeginDate(sim.parse(beginDate));
model.addAttribute("beginDate", beginDate);
}
if (endDate != null && !endDate.isEmpty()) {
comm.setEndDate(sim.parse(endDate));
model.addAttribute("endDate", endDate);
}
Integer commCount = CommodityService.getCountOfMap(comm);
page.setTotalCount(commCount);

Map<String, Object> map = new HashMap<String, Object>();
map.put("page", page);
map.put("comm", comm);
List<Commodity> commList = CommodityService.getByMap(map);
model.addAttribute("commList", commList);
model.addAttribute("url", url);
model.addAttribute("page", page);
} catch (ParseException e) {
e.printStackTrace();
}
return "commodity/showCommodityList";

}
...全文
331 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zb51500618 2016-07-29
  • 打赏
  • 举报
回复
结贴了 ,貌似是要同步 ,今天是好的 不知明天如何 ,撒分~
  • 打赏
  • 举报
回复
你这是JS编写不当导致的运行时问题,跟后台那个PATH扯不上一分钱关系。 你看看AJAX的同步异步设置方法。
「已注销」 2016-07-26
  • 打赏
  • 举报
回复
~分~~呢~
jio可 2016-07-26
  • 打赏
  • 举报
回复
建议先把<%=path%>保存在一个变量或者一个隐藏的dom里面,不要ajax的时候才去拿这个值,请求之前你也可以先判断一下这个值有没有
zb51500618 2016-07-25
  • 打赏
  • 举报
回复
引用 2 楼 showbo 的回复:
那就结贴吧,分给我
引用 1 楼 zb51500618 的回复:
干 ,刚发帖 就解决了,虽然不清楚是为什么 。解决方法是 把<%=path%> 相对路径 改为绝对路径,<%=basepath%>

	String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
我真是太天真了,这个bug ,几经波折 又出现了 。每次都是 改好之后本地测试好了 ,但是过了一天 就必须打断点才能运行 。 到底是什么地方的问题 啊毫无头绪! 有人遇到这种情况吗?
KK3K2005 2016-07-21
  • 打赏
  • 举报
回复
前后半个小时 所以要相信自己
  • 打赏
  • 举报
回复
那就结贴吧,分给我
zb51500618 2016-07-21
  • 打赏
  • 举报
回复
干 ,刚发帖 就解决了,虽然不清楚是为什么 。解决方法是 把<%=path%> 相对路径 改为绝对路径,<%=basepath%>

	String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

87,984

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧