流浪的小柒xqi 2013-09-21 15:45 采纳率: 0%
浏览 1320

sturts2+json+jqeury后台acton获取不了前台jsp传入的值!

xml中我配置了相对应的,前台var param = {};
param={
"checkIds":"1"
};
alert(JSON.stringify(param));
param = JSON.stringify(param);
$.ajax({
type:"POST",
url:"setting_ajax!ajax.action",
dataType:"json",
data:param , // , "checkIds=1"
success:function(data){
alert(data.result);
document.getElementById("resultShow").innerHTML=data.result;
}
});
xml:
<package name="json" namespace="/" extends="json-default">
<action name="setting_ajax" class="syssetAction">
<!--<interceptor-ref name="json" />
--><result name="ajax" type="json">
<param name="result">result</param>
</result>
</action>
</package>

action中也加入了相对应的属性,但是就是没有获取到值,而前台可以获取后台的值!!!

求大神帮助,

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-02-16 13:31
    关注

    该回答引用ChatGPT

    根据您提供的信息,似乎是在前台使用JSON.stringify方法将param对象转换为JSON字符串后,再将其传递给后台。但是,后台代码可能没有正确地解析JSON字符串,导致无法获取到前台传递的值。


    您可以尝试在后台代码中使用一个JSON解析器来解析传递的JSON字符串,例如使用org.json包,示例代码如下:

    import org.json.JSONObject;
    
    public class SyssetAction extends ActionSupport {
      private String checkIds;
    
      public String ajax() {
        try {
          JSONObject json = new JSONObject(getCheckIds());
          String checkIds = json.getString("checkIds");
          // 在这里处理获取到的值
          return "success";
        } catch (Exception e) {
          e.printStackTrace();
          return "error";
        }
      }
    
      // getter和setter方法
    }
    

    在上面的代码中,我们使用org.json.JSONObject来解析JSON字符串,并从中获取checkIds属性的值。注意,在JSONObject的构造函数中,需要传递一个表示JSON字符串的字符串参数。另外,我们在ajax()方法中处理获取到的值。


    希望这可以帮助您解决问题。

    评论

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献