zoukankan      html  css  js  c++  java
  • jquery的AJAX

    JQuery的AJAX部分的API

    (1)jquery对象.load(url,params,function(数据){});(理解)
    (2)$.get(url,params,function(数据){},type); 发送get请求的ajax
      url:请求的路径
      params:请求的参数 参数为keyvalue的形式 key=value {"":"","":""}
      function:回调函数 参数就是服务器发送回来的数据
      type:返回内容格式,xml, html, script, json, text, _default。 以后用"json"

    (3)$.post(url,params,function(数据){},type); 发送post请求的ajax
      
    (4)$.ajax([选项]);
      选项的可选值:
      url:请求路径
      type:请求方法
      data:发送到服务器的数据
      success:fn 成功以后的回调
      error:fn 异常之后的回调
      dataType:返回内容格式 经常使用json
      async:设置是否是异步请求
      例如:

     $.ajax({
                    url:url,
                    type:"post",
                    data:params,
                    success:function(d){
                        alert(d.msg);
                    },
                    error:function(){},
                    dataType:"json"
                    
                });

    若结果为json格式, 打印返回值的时候是一个对象 
      例如若json为 {"result":"success","msg":"成功"}
      获取msg 只需要 参数.msg

    1、前端ajax

    导入js:http://pan.baidu.com/s/1jHLRVTk

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.11.3.min.js"></script>
    <title>Insert title here</title>
    <script type="text/javascript">
        $(function(){
            $("#btn").click(function(){
                var url="/day15/jqueryAjax";
                //var params="username=张三";
                var params={"username":"张苏纳"};
                //load方式
                /* $(this).load(url,params,function(d){
                    alert(d);
                }); */
                
                //get方式
                /* $.get(url,params,function(d){
                    alert(d)
                }); */
                
                //post方式
                /* $.post(url,params,function(d){
                    alert(d.msg);
                },"json"); */
                
                //ajax 方式
                $.ajax({
                    url:url,
                    type:"post",
                    data:params,
                    success:function(d){
                        alert(d.msg);
                    },
                    error:function(){},
                    dataType:"json"
                    
                });
            });        
        })
    </script>
    </head>
    <body>
        <input type="button" id="btn" value="点我">
    </body>
    </html>

    2、servlet

    package com.itheima.jquery_ajax;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * jquery的ajax
     */
    public class JqueryAjaxServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            System.out.println("请求方式:"+request.getMethod());
            
            //接受参数
            String username = request.getParameter("username");
            username=new String(username.getBytes("iso-8859-1"),"utf-8");
            System.out.println(username);
            
            //响应数据
            response.getWriter().print("success");
        }
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.setCharacterEncoding("utf-8");
            System.out.println("请求方式:"+request.getMethod());
            
            //接受参数
            String username = request.getParameter("username");
            System.out.println(username);
            //response.getWriter().print("success");
            
            //{"result":"success","msg":"成功"}
            String s="{"result":"success","msg":"成功"}";
            
            //响应数据
            response.setContentType("text/html;charset=utf-8");
            response.getWriter().print(s);
        }
    
    }

    3、配置web.xml

    <servlet>
        <description></description>
        <display-name>JqueryAjaxServlet</display-name>
        <servlet-name>JqueryAjaxServlet</servlet-name>
        <servlet-class>com.itheima.jquery_ajax.JqueryAjaxServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>JqueryAjaxServlet</servlet-name>
        <url-pattern>/jqueryAjax</url-pattern>
      </servlet-mapping>

    问题

    <script>是在前还是在后

    jQuery选择器

    参考:http://www.w3school.com.cn/jquery/jquery_intro.asp

    层次选择器 ★
            a b:a的所有b后代
            a>b:a的所有b孩子
            a+b:a的下一个兄弟(大弟弟)
            a~b:a的所有弟弟
        基本过滤选择器:★
            :frist 第一个
            :last 最后一个
            :odd  索引奇数
            :even 索引偶数
            :eq(index) 指定索引
            :gt(index) >
            :lt(index) <
        内容过滤:
            :has("选择器"):包含指定选择器的元素
        可见过滤:
            :hidden   在页面不展示元素 一般指 input type="hidden" 和 样式中display:none
            :visible 
        属性过滤器:★
            [属性名]
            [属性名="值"]
        表单过滤:
            :input  所有的表单子标签  input select textarea button
            //input

  • 相关阅读:
    字符串算法总结
    [HAOI2007]反素数
    Poj2689 Prime Distance
    [APIO2010]特别行动队
    [国家集训队]middle
    Typecho博客迁移实战
    Typora + 七牛云图床 简易配置
    教你用快捷键 以管理员身份运行cmd
    Typecho博客插入B站视频
    七牛云图床快捷上传方法
  • 原文地址:https://www.cnblogs.com/Michael2397/p/7643648.html
Copyright © 2011-2022 走看看