1、el表達式裏不能放js變量,所以需要循環遍歷el表達式的集合,在<script>
標籤外用<c:forEach>
遍歷,賦給另一個數組。
<script type="text/javascript">
var ids = new Array();
var names = new Array();
</script>
<c:forEach items="${list}" var="t">
<script type="text/javascript">
ids.push("${t.id}");
names.push("${t.name}");
</script>
</c:forEach>
2、前臺將集合對象封裝成json字符串,以鍵值對的形式賦給數組,再通過JSON.stringify(數組)轉化成json字符串;
var array = new Array();
for(var i=0;i<count;i++){
var ts={"id":"","name": ""};
ts.id=ids[i];
ts.name=names[i];
array[i]=ts;
}
var str = JSON.stringify(array);
$.ajax({
url:'',
type:'post',
data:{
list:str //傳給後臺的json字符串
},
success:function(){}
});
假設集合裏的數據是:
{Goods [id=1,name=abc],Goods [id=2,name=def]} //Goods是一個對象
那麼得到的json字符串是:[{“id”:”1”,”name”:”abc”},{“id”:”2”,”name”:”def”}]