• ajax,jquery和js的一些事

    普通类
    • 支持
    • 批判
    • 提问
    • 解释
    • 补充
    • 删除
    • 关于Ajax传值

    var type,userId,sourceId,authority;

    function showGroupName(obj,userId2,sourceId2,type2,authority2){
            type = type2;
            userId = userId2;
            sourceId=sourceId2;
            authority=authority2;
            
               //alert("userId="+userId);
              //alert("friendId="+friendId);
               $('input[id^=groupNameId_]').removeAttr("checked");
                    
                $.ajax({
                 url:'/do/resourcestorage?action=getNodeNamesByAjax&sourceId='+sourceId+'&userId='+userId+'&type='+type, //方法和参数
                 type:'GET',
                 dataType : 'json',
                 timeout: 50000,    
                success : function( data ){
                          if( data.status == "success" ){                         
                              window.location.reload();                                            
                          }else{
                              alert("getNodeNamesByAjaxfailed");
                          }
                          }
                  });        

        }

    • 关于JSONObject和JSONArray

    Service中从数据库读取List返回action后做处理,封装到object里面,然后包一层JSONArray。再放到JSONObject里面传回页面

    action中方法

    /**
         * 【通过Ajax方式返回指定用户的某个资源所在的所有分类】
         * @author tangyao
         * @param mapping
         * @param form
         * @param req
         * @param res
         * @return
         * @throws HepServiceException
         * @throws JSONException
         * @throws IOException
         */
        public ActionForward getNodeNamesByAjax(ActionMapping mapping, ActionForm form,
                HttpServletRequest req, HttpServletResponse res) throws HepServiceException, JSONException, IOException {
            
            Long userId=Long.parseLong(req.getParameter("userId"));
            
            String type = ""+req.getParameter("type");
            Long sourceId=Long.parseLong(req.getParameter("sourceId"));

            res.setContentType("text/html;charset=UTF-8");
            res.setHeader("Cache-Control", "no-cache");
            
            PrintWriter out = res.getWriter();
            JSONObject allInfo = new JSONObject();            //传回jsp页面的object
            JSONObject arrayObject= new JSONObject();    //将含有具体信息的JSONArray包装起来
            JSONArray jsonArray = new JSONArray();          //含具体信息的Array
            
            List rsList = ResourceStorageService.getInstance().GetByTypeAndSourceId(userId, sourceId,type);   //数据库读取列表
            
            try{
            Long rsId=null;
            int count=0;
            ResourceStorage rs=null;
            if(rsList!=null&&rsList.size()>0)
            {
                count=rsList.size();
                for(int i=0;i<count;i++)
                {
                    rs = (ResourceStorage)rsList.get(i);    
                    
                    JSONObject jasonTemp= new JSONObject();            //单条的信息处理后放到这个object中,然后每一个都存入array数组中
                   
                    jasonTemp.put("id", rs.getId());
                    jasonTemp.put("nodeId", rs.getNodeId());               
                    jsonArray.put(jasonTemp);
                }
            }
                allInfo.put("count", count);
                arrayObject.put("info", jsonArray);
                allInfo.put("detail", arrayObject);
                allInfo.put("status", "success");                      //层层封装,最外层可放一些描述性信息,便于提取
            }catch (Exception e) {
                
                e.printStackTrace();
                allInfo.put("status", "failed");
            } finally {
                out.print(allInfo.toString());
                out.flush();
                out.close();
            }
        return null;
      }

    对应的jsp页面

    $.ajax({
                 url:'/do/resourcestorage?action=getNodeNamesByAjax&sourceId='+sourceId+'&userId='+userId+'&type='+type,
                 type:'GET',
                 dataType : 'json',
                 timeout: 50000,    
                success : function( data ){
                          if( data.status == "success" ){        //对传回的数据的处理,不用看内部细节
                              
                              for(var k=0;k<data.count;k++){
                                  var groupIdTemp="groupNameId_"+data.detail.info[k].nodeId;
                                  //alert(groupIdTemp);
                                  $("#"+groupIdTemp).attr("checked",true);//打勾
                              }   

                                                 
                          }else{
                              alert("getNodeNamesByAjaxfailed");
                          }
                          }
                  });

    • jQuery命令

        $('input[id^=groupNameId_]').removeAttr("checked");           //取消id前半部分是“groupNameId_”的复选框中的√

        $("#groupNameId_101").attr("checked",true);                         //给id=groupNameId_101的复选框前面打勾

        if($("#groupNameId_101").attr('checked')==undefined)            //判断是否已经打勾

       

         参考source:jQuery控制组件的           http://yilong511.iteye.com/blog/542094           2012-7-14

    • 标签:
    • jsonobject
    • 常用命令
    • jsonarray
    • param
    • 39
    • success
    • id
    • type
    • throws
    • allinfo.put
    • userid
    • jquery
  • 加入的知识群:
    学习元评论 (0条)

    评论为空
    聪明如你,不妨在这 发表你的看法与心得 ~



    登录之后可以发表学习元评论
      
暂无内容~~
顶部