2 回答

TA貢獻1833條經(jīng)驗 獲得超4個贊
不知道你解決了沒有。我剛好遇到這個問題,基本上和你差不多。
你這個實際上是復(fù)雜數(shù)據(jù)傳遞。
因為你的json中又包含了JsonArray,array中又存儲了json對象......
因為你是采用jquery的Ajax進行傳遞的,但是jquery的ajax和struts并不是很兼容,傳遞過去的值,根本無法被被正確的解析。那么如何解決這個問題呢?
這樣改
var myparam = var myparam = JSON.stringify(
{
'userName' : '薛軍軍',
'sex' : '男',
'others' : '其他值',
'jsonTest':[{'t_id':'sd','t_name':'trs'},{'t_id':'sd','t_name':'trs'}]
},
);
$.ajax({
type:"POST",
async:false,
url :"<%=basePath%>pages/User/getUserObj.action",
data : myparam,
dataType : "text",
success : function(data) {
alert(data);
}
});
這樣就向后臺傳遞了正確的json對象。
但是現(xiàn)在后臺還無法正確接收對象,還需要配置struts.xml,在你的包中,action前面加上攔截器
<interceptors>
<interceptor-stack name="myStack">
<interceptor-ref name="json"></interceptor-ref>
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myStack" />
好了,這樣就應(yīng)該可以了

TA貢獻1828條經(jīng)驗 獲得超13個贊
dataType : "text",
你 的ajax 參數(shù) 是 json 格式 這里 用 text 文本類型 發(fā)送 肯定是不對的吧
你 該 成 json 試試
添加回答
舉報