ajax批量提交数据后台获取

tomyu168 2013-06-13 02:00:39
我想用ajax批量提交数据

http://localhost:8080/Test1/jsp/example.jsp?det[0].item=1&det[0].price=10&det[0].quantity=1&det[1].item=1&det[1].price=2.33&det[1].quantity=3&det[2].item=1&det[2].price=5.5&det[2].quantity=2

现在按了提交可以得到这样的一串url,我用的是struts1,该怎么取出这些数据呢
...全文
379 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
倾城之云卷舒 2013-06-14
  • 打赏
  • 举报
回复
同意楼上,还是转化为json类型传递吧
limin_ding 2013-06-14
  • 打赏
  • 举报
回复
不可以转成json么?
小丑哥_V5 2013-06-14
  • 打赏
  • 举报
回复
使用request.getParxxxMaps();然后遍历
长腮的北极熊 2013-06-14
  • 打赏
  • 举报
回复
这个把所有的name设置成同一个,在后台用request.getParameter(name)获取,获取的应该是用","隔开的数据,用replaceAll拆成String[]
tomyu168 2013-06-13
  • 打赏
  • 举报
回复
太奇怪了,我在后台只能用chrome进入到Action,火狐就不行了……,然后就是我用楼上说的request.getParameterNames();结果只有一个参数……,参数叫method 值是 submitOrder…… 我知道正常来说,要想用ajax要在前台用url传参数,问题是我这个要提交的数据数量不定而且太多了,难道还使用url? 我没写参数发现点提交按钮,地址栏变成了http://localhost:8080/Test1/jsp/example.jsp?det[0].item=1&det[0].price=10&det[0].quantity=1&det[1].item=1&det[1].price=2.33&det[1].quantity=3&det[2].item=1&det[2].price=5.5&det[2].quantity=2 可是如何获得这些数据呢?
tomyu168 2013-06-13
  • 打赏
  • 举报
回复
引用 8 楼 splendid_java 的回复:
你用过jquery吗
勉强能看看,js ok
ZHOU西口 2013-06-13
  • 打赏
  • 举报
回复
你用过jquery吗
tomyu168 2013-06-13
  • 打赏
  • 举报
回复
引用 1 楼 AARON7744 的回复:
不了解struts1,不过一个通用的办法,是可以通过request获得
java.util.Enumeration paramNames = request.getParameterNames();
while ( paramNames.hasMoreElements() )
{
 String param = (String) paramNames.nextElement();
 String[] paramValues = request.getParameterValues( param )
 ...
}
看看我的怎么改呢
tomyu168 2013-06-13
  • 打赏
  • 举报
回复
引用 4 楼 breakorcontinue 的回复:
这样封装数据代码可读性太低了吧,还不如写成JSON数据在后台解析成对象呢
看看上面的怎么改呢
tomyu168 2013-06-13
  • 打赏
  • 举报
回复
引用 2 楼 splendid_java 的回复:
ajax直接传一个数组不就可以了,url也不用带参数,在后台直接request.getParameterValues("数组参数名称[]")这样获取
html是这样的

<tr>
                <td style="display:none"></td>
                <td>
                    <select name="det[0].item" >
                        <option value="1">Computer</option>
                        <option value="2">Iphone</option>
                        <option value="3">Mouse</option>
                        <option value="4">Keyboard</option>
                        <option value="5">Screen</option>
                        <option value="6">USB Memmory</option>
                        <option value="7">CD Burner</option>
                        <option value="8">Hard Drive</option>
                        <option value="9">Motherboard</option>
                        <option value="10">Case</option>
                    </select>
                </td>
                <td>
                    <input name="det[0].price" type="text" class="num" value="10" />
                </td>
                <td>
                    <input name="det[0].quantity" type="text" class="num" value="1" />
                </td>
                <td>
                    <input name="det[0].discount" type="checkbox" />
                </td>
                <td style="display:none"></td>
                <td class="num">
                </td>
            </tr>
            <tr>
然后用js加了动态生成这样的table,后面name属性逐个+1,我要怎样批量的把不确定数目的数据提交呢

var xhr = false;

	if (window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	}
	else {
		if (window.ActiveXObject) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) { }
		}
		
	}

     
    function submitOrder(){ 
    
    
	
	if (xhr) {
		
		
		alert("qian");
        var newUrl="itemorder.do?method=submitOrder";
		
		xhr.open("POST", newUrl, true);
		xhr.onreadystatechange = showMyOid;
		alert("hou");
		xhr.send();
         
        } 
		
		}
  
  	function showMyOid() {
	
		if (xhr.readyState == 4) {
		if (xhr.status == 200) {
		
		alert("zhong");
		
		
		
			
		}
	}
	
	}
上面是我用的js代码但是貌似进不到我的后台
长腮的北极熊 2013-06-13
  • 打赏
  • 举报
回复
这样封装数据代码可读性太低了吧,还不如写成JSON数据在后台解析成对象呢
u011011528 2013-06-13
  • 打赏
  • 举报
回复
request获取吧
ZHOU西口 2013-06-13
  • 打赏
  • 举报
回复
ajax直接传一个数组不就可以了,url也不用带参数,在后台直接request.getParameterValues("数组参数名称[]")这样获取
-AJ- 2013-06-13
  • 打赏
  • 举报
回复
不了解struts1,不过一个通用的办法,是可以通过request获得
java.util.Enumeration paramNames = request.getParameterNames();
while ( paramNames.hasMoreElements() )
{
 String param = (String) paramNames.nextElement();
 String[] paramValues = request.getParameterValues( param )
 ...
}

81,092

社区成员

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

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