如下是我的代码:
js:$(function() { $("#look").click(function() {
alert("look");
var url = "json.action";
var params = {
name : "kobe"
};
$.post(url, params, function(data) {
alert("post");//此句一直没反应
$("#result").text("后台来的数据");
}, "json");
}); });
Action:public class jsonAction extends ActionSupport{ private String result;
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
// HttpServletResponse responce = ServletActionContext.getResponse();
// PrintWriter out = responce.getWriter();
System.out.println("后台");//此句已经执行
// out.println(result); 这一句测试过也不行
Map<String,String> map = new HashMap<String,String>();
map.put("name", "kobe");
map.put("age", "23");
JSONObject jo = JSONObject.fromObject(map);
result = jo.toString();
return SUCCESS;
}
public String getResult() {
return result;
} public void setResult(String result) {
this.result = result;
}
}
struts.xml <package name="default" namespace="/" extends="json-default"> <default-action-ref name="index" /> <action name="index">
<result>/index.jsp</result>
</action>
<action name="json" class="action.jsonAction">
<result type="json">
<param name="root">result</param>
</result>
</action> </package>
后台jsonAction 代码已经执行,因为控制台中输出“后台”但是前台的$.post的回调函数总是不执行,alert("post");一直不执行。我用的jar包如下:
commons-lang3-3.1.jar;
json-lib-2.3-jdk15.jar;
jsonplugin-0.34.jar;
ezmorph-1.0.6.jar;
commons-beanutils-1.8.0.jar;
commons-collections-3.2.1.jar而且后台没有报任何错误,求高手指点,弄了很久,纠结死了。谢谢了
js:$(function() { $("#look").click(function() {
alert("look");
var url = "json.action";
var params = {
name : "kobe"
};
$.post(url, params, function(data) {
alert("post");//此句一直没反应
$("#result").text("后台来的数据");
}, "json");
}); });
Action:public class jsonAction extends ActionSupport{ private String result;
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
// HttpServletResponse responce = ServletActionContext.getResponse();
// PrintWriter out = responce.getWriter();
System.out.println("后台");//此句已经执行
// out.println(result); 这一句测试过也不行
Map<String,String> map = new HashMap<String,String>();
map.put("name", "kobe");
map.put("age", "23");
JSONObject jo = JSONObject.fromObject(map);
result = jo.toString();
return SUCCESS;
}
public String getResult() {
return result;
} public void setResult(String result) {
this.result = result;
}
}
struts.xml <package name="default" namespace="/" extends="json-default"> <default-action-ref name="index" /> <action name="index">
<result>/index.jsp</result>
</action>
<action name="json" class="action.jsonAction">
<result type="json">
<param name="root">result</param>
</result>
</action> </package>
后台jsonAction 代码已经执行,因为控制台中输出“后台”但是前台的$.post的回调函数总是不执行,alert("post");一直不执行。我用的jar包如下:
commons-lang3-3.1.jar;
json-lib-2.3-jdk15.jar;
jsonplugin-0.34.jar;
ezmorph-1.0.6.jar;
commons-beanutils-1.8.0.jar;
commons-collections-3.2.1.jar而且后台没有报任何错误,求高手指点,弄了很久,纠结死了。谢谢了
out.print(map);
out.flush();
加上试试。
还要return NONE; 不要return SUCCESS; 你用struts2吗?