初学jquery的疑问

redstone1202 2012-11-29 09:17:20
如题:

现在我有一个jquery+s2sh项目

我jquery用的ajax方法,里面有url 和 param数组 对吧

然后我根据url,根据struts找到了对应的actiom类找到了对应得方法

-----------

问题:

那个param数组是 如何传过来的呢

在action里直接就能对数组里面的元素进行引用吗?

名称须一致?

望高人解答

...全文
224 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
redstone1202 2012-12-01
  • 打赏
  • 举报
回复
非常感谢两位兄弟的解答,你们说的很到位
xwbb123 2012-12-01
  • 打赏
  • 举报
回复
其实楼主问的很简单,你们非说的那么复杂。 不知道是什么原因啊、 LZ:在页面上用ajax post 你的用户名和密码 param数组到 你指定的URL中, 然后再 后台 得到 前端传过来的 数据,序列化到Action类中,Action类必须有对应的用户名和密码的字段。 下来就可以调用类中的用户名和密码进行 验证,验证错误还是正确 传递一个值 告诉前端 前端弹出对话框 让用户可以清楚的知道 用户名密码是否正确! 我认为你想要的是这种!
l676331991 2012-11-30
  • 打赏
  • 举报
回复
还有一点,就是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/ 。
l676331991 2012-11-30
  • 打赏
  • 举报
回复
我来说两句。 $.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中拿的吧?
redstone1202 2012-11-30
  • 打赏
  • 举报
回复
jquery的ajax方法 异步调用了action <action name="accountJsonAction" class="accountAction"> <result name="JSONRESULT" type="json"> <param name="includeProperties">returnMessage</param> </result> </action> 这是action 返回的 ,此处的 再返回给 $.ajax方法 里面success时 最终返回的 是这个 吗? 然后再 在 jsp 对 这个 页面 验证 望高人作答 这个步骤
redstone1202 2012-11-30
  • 打赏
  • 举报
回复
我看楼上没明白我的意思, 我并不是要单纯得到表单值。 比如我得到用户名 密码 ,我是需要 ajax验证的。 并且关于权限的判断还要在action里面 调用 bo层 来实现; 所以 我 封装成 一个 数组 ,用 jquery的 ajax ,根据 传递的url ,通过struts 来 进入action类 ,就 在这一步 是怎么将 那个 数组 传给 Action类的 是不是 Action类里面有 和 数组里面 相同的 属性名 ,即可直接用 ? 我想知道详细些 。 ps:知道的就麻烦告诉一声,别总回复个 api 看来这问题没想象的那么简单 ,大部分都是知道一点 纯 jquery 嘛
redstone1202 2012-11-29
  • 打赏
  • 举报
回复
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了吗 ?
HelloWorld_DotNet 2012-11-29
  • 打赏
  • 举报
回复
属性名字要一样。
redstone1202 2012-11-29
  • 打赏
  • 举报
回复
引用 1 楼 calmcrime 的回复:
get或者post方式啊。 后台对应request就可以了。
是post了,我是说 在action里面 直接 就可以用 param里面的属性了 ??
001007009 2012-11-29
  • 打赏
  • 举报
回复
get或者post方式啊。 后台对应request就可以了。
ILOVE_ASPNET 2012-11-29
  • 打赏
  • 举报
回复


     var seraForm = $("form").serializeArray();  //这一句就完全搞定了,全部将表单序列化了 
        $.each(seraForm, function (i, field) {
            
         var value =field.value;
         var name =field.name
        });
      
redstone1202 2012-11-29
  • 打赏
  • 举报
回复
望高人作答,谢谢
skiyra 2012-11-29
  • 打赏
  • 举报
回复
多看api吧,,其实有些东西只是我们想的太复杂了
redstone1202 2012-11-29
  • 打赏
  • 举报
回复
人家的东西都是成型的,人家就采用的是这种,你来了就得学啊。 好技术多得是,不见得每个地方用的都一样。既然来解决问题,你要会就帮个忙,说的这是啥啊?
吉普赛的歌 社区高级成员 T9 2012-11-29
  • 打赏
  • 举报
回复
引用 6 楼 redstone1202 的回复:
关键是我们 这么规定用的 ,所以要学习这个 ,我也是初学 ; 望谁知道这个用法 帮我解析一下
可以坐飞机,还得逼着坐牛车?
redstone1202 2012-11-29
  • 打赏
  • 举报
回复
关键是我们 这么规定用的 ,所以要学习这个 ,我也是初学 ; 望谁知道这个用法 帮我解析一下
吉普赛的歌 社区高级成员 T9 2012-11-29
  • 打赏
  • 举报
回复
哪里要搞得这么麻烦呀 http://api.jquery.com/serialize/ serialize函数可以将所有容器范围内带name属性的表单元素序列化成json,你用就是了。 $.post("xxxx",$("form").serialize(),function(){ //.... });

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧