zoukankan      html  css  js  c++  java
  • $.post()

    定义和用法

    post() 方法通过 HTTP POST 请求从服务器载入数据。

    jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)

    参数描述
    url 必需。规定把请求发送到哪个 URL。
    data 可选。映射或字符串值。规定连同请求发送到服务器的数据。
    success(data, textStatus, jqXHR) 可选。请求成功时执行的回调函数。
    dataType

    可选。规定预期的服务器响应的数据类型。

    默认执行智能判断(xml、json、script 或 html)。



    项目中:
    页面代码:
    <script src="${ctx}/js/jquery.js" type="text/javascript"></script>
     

       <script type="text/javascript">
            $(document).ready( function() {
            //使用 Ajax 的方式 检查分类名是否存在
            $("#result").hide();
            $("#name").keyup( function() {
                var url = '${ctx}/manage/example/gradeAjax.action';
                //获取表单值,并以json的数据形式保存到params中
                var params = {
                    name:$("#name").val()
                    //上行结尾决对不加逗号(,)。如果加了在IE6下就不能运行实现了。
                };
                //alert(params.name);
                //使用$.post方式
                $.post(
                    url,        //服务器要接受的url
                    params,     //传递的参数
                    function cbf(data){ //服务器返回后执行的函数 参数 data保存的就是服务器发送到客户端的数据
                        var a = eval_r("("+data+")");    //包数据解析为json 格式
               //eval_r() 函数可计算某个字符串,并执行其中的的 JavaScript 码                       if(a.existed == "0"){
                            //$('#name').focus();// $('#name')[0].focus();
                            //$('#name').val($("#name").val());
                            $("#result").hide();
                            //setTimeout("$('#result').hide();",1000);//1秒
                        }else{$("#result").show();}
                    },
                   'json'   //数据传递的类型  json
                );
            });
        });
       </script> 


    。。。。
    <tr>
                      <td class="item">班级名</td>
                      <td><input type="text" id="name" name="name" /><span id="result" style="color:red;font-size:12;">班级名已存在</span></td>
                  </tr>

    后台:
    @SuppressWarnings("serial")
    public class GradeAjaxAction extends ActionSupport {
        private final Log log = LogFactory.getLog(getClass());

        private String name;
        private String result;

        @Autowired
        @Qualifier( "gradeServiceImpl")
        private GradeService gradeService;

        @Override
        public String execute() throws Exception {
            log.debug(name);
            // 用一个Map做例子
            Map<String, String> map = new HashMap<String, String>();
            log.debug(name);
            boolean b = this.gradeService.isExistName(name);
            log.debug(b);
            // 为map添加一条数据,记录一下页面传过来name
            map.put("existed", b ? "1" : "0");
           log.debug("map:" + map);
            // 将要返回的map对象进行json处理
            JSONObject jo = JSONObject.fromObject(map);
            log.debug("jo:" + jo);

            // 调用json对象的toString方法转换为字符串然后赋值给result
            this.result = jo.toString();

            // 可以测试一下result
            log.debug("result:" + this.result);

            return SUCCESS;
        }

        public String getResult() {
            return result;
        }

        public void setName(String name) {
            this.name = name;
        }

    }

    配置文件中:
    <action name="gradeAjax" class="com.goldsoft.action.example.GradeAjaxAction">
                <!-- 返回类型为json, 在struts2-json-plugin-2.2.3.jar->struts-plugin.xml中定义 --> 
                <result type="json"> 
                    <!-- root的值对应要返回的值的属性 --> 
                    <!-- 这里的result值即是 对应action中的 result --> 
                    <param name="root">result</param> 
                </result> 
            </action>
  • 相关阅读:
    vim 学习笔记系列(前言)
    12306网站推出图片验证 反破解
    如何提升电脑的速度(五年时间收集各家精华,绝对史上最全)
    电脑维修和维护 毕业总结及经验报告
    留学生 电脑安全与维护手册 (留学须知)
    Progress数据库配置与应用
    润乾报表与DERBY数据库的创建连接详解
    图形报表部署在Linux下出现乱码解决办法
    sqlserver为数据库表增加自增字段
    五种常用web服务器jvm参数设置
  • 原文地址:https://www.cnblogs.com/felix-/p/4330407.html
Copyright © 2011-2022 走看看