如题:现在我有一个jquery+s2sh项目我jquery用的ajax方法,里面有url 和 param数组 对吧然后我根据url,根据struts找到了对应的actiom类找到了对应得方法-----------问题:那个param数组是 如何传过来的呢 在action里直接就能对数组里面的元素进行引用吗?名称须一致?望高人解答

解决方案 »

  1.   

    get或者post方式啊。
    后台对应request就可以了。
      

  2.   


    是post了,我是说 在action里面 直接 就可以用 param里面的属性了 ??
      

  3.   

       
          var params = {};
    params = createJsonData();  function createJsonData(){
    var finalJson =  {};
    finalJson.fyhzh =$.trim($("#fyhzh").val());
    finalJson.fyhmm=$("#fyhmm").val();
    return finalJson;
     }var rtn = Common.ajax(params,url);然后我在action类里面 就能 直接用 fyhzh了吗  ?
      

  4.   

    哪里要搞得这么麻烦呀http://api.jquery.com/serialize/serialize函数可以将所有容器范围内带name属性的表单元素序列化成json,你用就是了。$.post("xxxx",$("form").serialize(),function(){
        //....
    });
      

  5.   

    多看api吧,,其实有些东西只是我们想的太复杂了
      

  6.   

         var seraForm = $("form").serializeArray();  //这一句就完全搞定了,全部将表单序列化了 
            $.each(seraForm, function (i, field) {
                
             var value =field.value;
             var name =field.name
            });
          
      

  7.   

    我看楼上没明白我的意思,  我并不是要单纯得到表单值。 比如我得到用户名 密码 ,我是需要 ajax验证的。并且关于权限的判断还要在action里面 调用 bo层 来实现; 所以 我 封装成 一个 数组 ,用 jquery的 ajax ,根据 传递的url  ,通过struts  来 进入action类 ,就  在这一步  是怎么将  那个 数组 传给 Action类的 
    是不是 Action类里面有  和 数组里面 相同的 属性名 ,即可直接用 ?  我想知道详细些 。
    ps:知道的就麻烦告诉一声,别总回复个 api看来这问题没想象的那么简单 ,大部分都是知道一点 纯 jquery 嘛 
      

  8.   

    jquery的ajax方法 异步调用了action <action name="accountJsonAction" class="accountAction">
    <result name="JSONRESULT" type="json">
    <param name="includeProperties">returnMessage</param>
    </result>
    </action>这是action 返回的 ,此处的 再返回给 $.ajax方法 里面success时 最终返回的 是这个 吗?然后再 在 jsp 对 这个 页面 验证 望高人作答这个步骤
      

  9.   

    我来说两句。$.ajax在进行异步的时候,会调用到一个函数$.param。这个静态方法会把传递过来的key-value形式的对象转化成http报文类型的格式,如果传递的是data = {a:1,b:2},那么经过参数化后得到的是a=1&b=2,如果是字符串则原样返回。
    如果$.ajax调用的是get方法,jQuery会把参数化后的字符串和url拼接,得到最终的get请求的url,然后调用原生js的XMLHttpRequest对象的send方法,参数为null。
    如果是post请求,jQuery会把这个数据作为XMLHttpRequest对象的send方法的参数,就是http请求的请求体部分。对于后端,处理ajax请求和普通的http请求无异,因为ajax就是使用的HTTP协议。后端获取参数,对于java的Servlet,Servlet引擎解析http的请求头和请求体,把参数已经封装好了,在Servlet中可以通过request.getParameter来或者http请求的参数,request.getParameterValues获得http中的数组参数值(例如用于多选选项)。至于struts,无非就是对基本jsp和Servlet的进一步封装,参数都是从request中拿的吧?
      

  10.   

    还有一点,就是jQuery中ajax的success的触发。原生js提供的是给XMLHttpRequest对象的注册onreadystatechange事件,判断http返回的状态码来处理的。http状态一改变,js的这个事件就触发。当然这些都被jQuery封装起来了,jQuery帮我们注册和监听这些事件。success指定的时http返回200 ok时调用的函数,如果需要handle例如404之类的错误,可以指定complete函数。
    详见jQuery ajax的API,http://api.jquery.com/jQuery.ajax/ 。
      

  11.   

    其实楼主问的很简单,你们非说的那么复杂。不知道是什么原因啊、LZ:在页面上用ajax post 你的用户名和密码 param数组到 你指定的URL中,然后再 后台 得到 前端传过来的 数据,序列化到Action类中,Action类必须有对应的用户名和密码的字段。下来就可以调用类中的用户名和密码进行 验证,验证错误还是正确 传递一个值 告诉前端 前端弹出对话框让用户可以清楚的知道 用户名密码是否正确!  我认为你想要的是这种!