初学jquery的疑问 如题:现在我有一个jquery+s2sh项目我jquery用的ajax方法,里面有url 和 param数组 对吧然后我根据url,根据struts找到了对应的actiom类找到了对应得方法-----------问题:那个param数组是 如何传过来的呢 在action里直接就能对数组里面的元素进行引用吗?名称须一致?望高人解答 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 get或者post方式啊。后台对应request就可以了。 是post了,我是说 在action里面 直接 就可以用 param里面的属性了 ?? 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了吗 ? 哪里要搞得这么麻烦呀http://api.jquery.com/serialize/serialize函数可以将所有容器范围内带name属性的表单元素序列化成json,你用就是了。$.post("xxxx",$("form").serialize(),function(){ //....}); 多看api吧,,其实有些东西只是我们想的太复杂了 var seraForm = $("form").serializeArray(); //这一句就完全搞定了,全部将表单序列化了 $.each(seraForm, function (i, field) { var value =field.value; var name =field.name }); 我看楼上没明白我的意思, 我并不是要单纯得到表单值。 比如我得到用户名 密码 ,我是需要 ajax验证的。并且关于权限的判断还要在action里面 调用 bo层 来实现; 所以 我 封装成 一个 数组 ,用 jquery的 ajax ,根据 传递的url ,通过struts 来 进入action类 ,就 在这一步 是怎么将 那个 数组 传给 Action类的 是不是 Action类里面有 和 数组里面 相同的 属性名 ,即可直接用 ? 我想知道详细些 。ps:知道的就麻烦告诉一声,别总回复个 api看来这问题没想象的那么简单 ,大部分都是知道一点 纯 jquery 嘛 jquery的ajax方法 异步调用了action <action name="accountJsonAction" class="accountAction"> <result name="JSONRESULT" type="json"> <param name="includeProperties">returnMessage</param> </result> </action>这是action 返回的 ,此处的 再返回给 $.ajax方法 里面success时 最终返回的 是这个 吗?然后再 在 jsp 对 这个 页面 验证 望高人作答这个步骤 我来说两句。$.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中拿的吧? 还有一点,就是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/ 。 其实楼主问的很简单,你们非说的那么复杂。不知道是什么原因啊、LZ:在页面上用ajax post 你的用户名和密码 param数组到 你指定的URL中,然后再 后台 得到 前端传过来的 数据,序列化到Action类中,Action类必须有对应的用户名和密码的字段。下来就可以调用类中的用户名和密码进行 验证,验证错误还是正确 传递一个值 告诉前端 前端弹出对话框让用户可以清楚的知道 用户名密码是否正确! 我认为你想要的是这种! 想下决心用一种js的ui框架,不知道用哪种好,请高手推荐! 一个简单的js问题 javascript与后台交互的问题 javascript修改IE关闭按钮(叉叉)事件 javascript 能取到图片下载到本地的路径吗? 程序中断问题?大家帮忙看看? 请问我要用一个JavaScript函数控制超链的href属性无效,能否实现? 急!!!希望能得到高手门的帮助,分我愿意给..... 数据的导入、导出问题! lazyload懒加载图片每页最后一页加载不了 不是很了解javascript库. 帮忙改一下这段js
后台对应request就可以了。
是post了,我是说 在action里面 直接 就可以用 param里面的属性了 ??
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了吗 ?
//....
});
$.each(seraForm, function (i, field) {
var value =field.value;
var name =field.name
});
是不是 Action类里面有 和 数组里面 相同的 属性名 ,即可直接用 ? 我想知道详细些 。
ps:知道的就麻烦告诉一声,别总回复个 api看来这问题没想象的那么简单 ,大部分都是知道一点 纯 jquery 嘛
<result name="JSONRESULT" type="json">
<param name="includeProperties">returnMessage</param>
</result>
</action>这是action 返回的 ,此处的 再返回给 $.ajax方法 里面success时 最终返回的 是这个 吗?然后再 在 jsp 对 这个 页面 验证 望高人作答这个步骤
如果$.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中拿的吧?
详见jQuery ajax的API,http://api.jquery.com/jQuery.ajax/ 。