$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= "nam e" 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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值