使用Jquery AJAX将Java Object作为JSON响应

时间:2014-11-12 07:56:48

标签: javascript jquery ajax json struts2

我是Jquery,Struts2和Ajax的新手。

我试图通过Struts2 Action类将Java对象检索到Jquery Ajax。 我收到的回复为[object Object]

$.ajax({
/* type : "POST", */
url : "launchapptest",
/* contentType: "application/json; charset=utf-8", */
data : "processDateInput="+processDate,
dataType : "json",
async: true,
success : function(result) {
	alert(result);
	alert("Success");					
	}
});

我的行动类:

 public class LaunchAppTestAction extends ActionSupport {

private static final long serialVersionUID = -367986889632883043L;

//private ProcessDate pd = new ProcessDate();

 private Object od;

private String processDateInput=null;   


public String execute() throws Exception {

    OverviewService os = new OverviewService();
    System.out.println("Action Class" +processDateInput);

    List<?> overviewList = os.getOverViewDetails(processDateInput); 

    setOd(overviewList);

    return SUCCESS;
}

public String getProcessDateInput() {
    return processDateInput;
}

public void setProcessDateInput(String processDateInput) {
    this.processDateInput = processDateInput;
}

 public Object getOd() {
        return od;
    }

    public void setOd(Object od) {
        this.od = od;
    }}

我的struts.xml看起来像:

    <action name="launchapptest" class="com.ge.wd.action.LaunchAppTestAction">
        <result name= "success" type="json">
        </result>
    </action>

请告诉我如何在Jquery Ajax中访问对象Od。

1 个答案:

答案 0 :(得分:2)

感谢您的帮助,我能够借助Chrome开发人员工具解决问题。

我更改了我的Jquery脚本以使用stingify函数。

$.ajax({
            /* type : "POST", */
            url : "launchapptest",
            /* contentType: "application/json; charset=utf-8", */
            data : "processDateInput="+processDate,
            dataType : "json",
            async: true,
            success : function(result) {                
                var od = JSON.stringify(result) ;
                console.log(od);
            }
        });

我能够在控制台上查看JSON对象。 感谢您的帮助。