问题描述
index.jsp<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><basehref="<%=basePath%>"><title>MyJSP'index.jsp'startingpage</title><metahttp-equiv="pragma"content="no-cache"><metahttp-equiv="cache-control"content="no-cache"><metahttp-equiv="expires"content="0"><metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"><metahttp-equiv="description"content="Thisismypage"><!--<linkrel="stylesheet"type="text/css"href="styles.css">--></head><scripttype="text/javascript"src="jquery.min.js"></script><scripttype="text/javascript">$(document).ready(function(){$("#button01").click(function(){$.ajax({url:'test02Action',type:'POST',data:"{}",datatype:'json',success:function(data){//$(data.a).each(function(i,value){alter(alert(value.name));});$("#display").append("<div>输出了:id:"+data+",name:"+data.name+"</div>");}});});});</script><body>ThisismyJSPpage.<br><inputtype="button"value="提交"id="button01"><divid="display"></div></body></html>
Struts.xml<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""http://struts.apache.org/dtds/struts-2.1.dtd"><struts><packagename="pc"extends="json-default"><actionname="test02Action"class="test02.Test02Action"><resultname="a"type="json"></result></action></package></struts>
Test02Actionpackagetest02;importcom.opensymphony.xwork2.ActionSupport;publicclassTest02ActionextendsActionSupport{privateStringname;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicStringexecute()throwsException{//TODOAuto-generatedmethodstubthis.name="pc";return"a";}}
输出结果:ThisismyJSPpage.输出了:id:{"name":"pc"},name:undefined心中的结果:ThisismyJSPpage.输出了:id:{"name":"pc"},name:pc求解!
解决方案
解决方案二:
data输出的是json格式,需要javascript解析,vardatas=eval('('+data+')')你试试这个,然后把data.name改成datas.name