您的位置:首页 > Web前端 > JQuery

ssh 中 jquery ajax 调用action返回的json数据并传递到页面

2014-09-18 16:48 531 查看
<package name="json" namespace="/" extends="json-default">
<action name="testByAction"  class="com.xuefeng.ssh.action.GetJsonAction" method="execute">
<param name="includeProperities">
dataMap.*
</param>
<result type="json"></result>
</action>
</package>


 

struts.xml里边,我直接加了个包,也不知道对不对,param这个是跟action里边的map想对应的

package com.xuefeng.ssh.action;

import java.util.HashMap;
import java.util.Map;

import com.opensymphony.xwork2.Action;
import com.xuefeng.ssh.model.User;

public class GetJsonAction implements Action{
@SuppressWarnings("rawtypes")
private Map dataMap;

@SuppressWarnings("unchecked")
public String execute() throws Exception {
User u = new User();
u.setId(13);
u.setUsername("huhuliuxia");
u.setPassword("huhuliuxia");
dataMap = new HashMap<String, Object>();
dataMap.put("user",u.getUsername());
dataMap.put("success", true);

return SUCCESS;
}

@SuppressWarnings("rawtypes")
public Map getDataMap() {
return dataMap;
}

public void setDataMap(@SuppressWarnings("rawtypes") Map dataMap) {
this.dataMap = dataMap;
}
}


 

action的返回得到json :{"dataMap":{"success":true,"user":"huhuliuxia"}}

 

<script>

 $(document).ready(

     function(){  $("#btnOK").click(function() {

          $.ajax({                

           type: "post",                

           url: "/WebContent/testByAction.action",                

           //方法传参的写法一定要对,str为形参的名字,str2为第二个形参的名字          

           contentType: "application/json; charset=utf-8",                

           dataType: "json",                

           success: function(json) {                    

           //返回的数据用data.d获取内容 

           var jsonObj = eval(json);

           alert(jsonObj.dataMap.user);

              

           },                

           error: function() {                    

           alert("error");                

           }            

           });                

          //禁用按钮的提交             

          return false;        

          });  }

    );

 </script>

 

一开始url没配对,相对路径要搞清楚。

还有觉得代码没错误,就删除下work里边的类。

 

向ajax中传递请求的参数

 

data: "name=John&location=Boston",

第二种方式:

data: {name:"John",location:"Boston"}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  json jquery ajax
相关文章推荐