流浪的小柒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 Stata 面板数据模型选择
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用