微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax (原生实现 与 jquery实现

1 原生javascript实现ajax请求  参见w3c  "值得注意的是写请求路径是:一定不需要加 / “

<script type="text/javascript">

  function fun() {
    var xmlhttp;
    if(window.XMLHttpRequest){
      xmlhttp = new XMLHttpRequest();
    }else {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    //get 、post
    xmlhttp.open("get","ajaxServlet?username='i am parameter'",true);
    xmlhttp.send();

    //获取回转过来的响应
    xmlhttp.onreadystatechange=function()
    {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
      {
        document.getElementById("p").innerHTML=xmlhttp.responseText;
      }
    }

  }
存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。

0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪

200: "OK"

404: 未找到页面

  

</script>
@WebServlet("/ajaxServlet")
public class AjaxServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws servletexception, IOException {
        response.setContentType("text/html;charset=utf-8");

        String username = request.getParameter("username");
        System.out.println(username);
        response.getWriter().write("hello im server");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws servletexception, IOException {
        this.doPost(request, response);
    }
}

 

 

2 Jquery实现ajax交互

$.ajax( { } )

function fun2() {
    $.ajax({
      url:"ajaxServlet",
      type:"post",
      data:{"username":"jack","age":33},
      success:function(data){
        alert(data);
      }
    });
  }

 

$.Get("请求路径","请求参数{}","回调函数","返回数据的格式")

$.Post("请求路径","请求参数{}","回调函数","返回数据的格式")

 

回调函数: 

  • data- 包含来自请求的结果数据
  • status - 包含请求的状态
  • xhr - 包含 XMLHttpRequest 对象

返回数据的格式:可能的类型:"xml"     "html"   "text"    "script"    "json"    "jsonp"

  function fun3() {
    $.get("ajaxServlet",{"username":"rose"},function (data) {
      alert(data)
    },"text");
  }

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐