ajax

    ajax是一种无需重新加载网页的情况下,能够更新部分网页的技术。即局部刷新。

    通过在后台与服务器进行少量数据交换,ajax实现网页的异步更新。

    ajax是异步JavaScript和xml或者html,所以ajax写在script标签里。

    onreadystatechange 事件
    Java学习十八——ajax - 图1
    js中的原生ajax及测试代码:

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>ajax01</title>
    6. </head>
    7. <!--
    8. js中的原生ajax
    9. ajax:前端的一门技术,用于网页的异步刷新
    10. (在不提交整个页面的情况下,可以局部的向服务器发送请求,并且处理响应)
    11. -->
    12. <script>
    13. //定义一个ajax核心对象的变量
    14. var xhr;
    15. //判断当前浏览器是否属于ie浏览器
    16. //如果判断当前浏览器是ie浏览器,需要从插件中获取ajax核心对象
    17. if(window.ActiveXObject){
    18. //Microsoft 代表微软
    19. xhr = new ActiveXObject("Microsoft.XMLHTTP");
    20. }else if(window.XMLHttpRequest) {
    21. //如果不是ie浏览器,就直接创建对象
    22. xhr = new XMLHttpRequest();
    23. }
    24. //定义测试函数
    25. function funTest(){
    26. //原生ajax需要定义open函数
    27. //method:提交类型 post, get
    28. //url : 提交的地址
    29. //async:是否开启异步 true 是 false 否
    30. xhr.open("post","http://localhost:8080/ajax/ajaxServlet?flag=test",true);
    31. //回调函数接收前端的响应
    32. xhr.onreadystatechange = function (){//核心对象中的事件
    33. //判断浏览器的状态
    34. if(xhr.readyState == 4 && xhr.status == 200){
    35. //弹一下获取的后端响应的数据
    36. alert(xhr.responseText)
    37. }
    38. }
    39. //发送请求
    40. xhr.send();
    41. }
    42. </script>
    43. <body>
    44. <input type="button" value="测试" onclick="funTest()">
    45. </body>
    46. </html>

    jQuery中的ajax及测试代码:

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>ajax02</title>
    6. </head>
    7. <!--jQuery中的ajaxjQueryjsajax的第一层封装)
    8. ajax第一层封装:属性位置可以互换,先后顺序无要求,比较灵活
    9. -->
    10. <script src="../jquery/jquery-1.7.2.js"></script>
    11. <script>
    12. function toLogin(){
    13. $.ajax({
    14. //请求后端资源
    15. url:"http://localhost:8080/ajax/ajaxServlet?flag=login",
    16. //提交的类型
    17. type:"post",
    18. //提交的数据
    19. data:{
    20. username:$("[name = 'username']").val(),
    21. password:$("[name = 'password']").val()
    22. },
    23. //请求成功之后的回调函数
    24. success:function (obj){
    25. if(obj){
    26. alert("登录成功")
    27. }else {
    28. alert("登录失败")
    29. }
    30. },
    31. //服务端返回的数据类型
    32. dataType:"json"
    33. })
    34. }
    35. </script>
    36. <body>
    37. <table>
    38. <tr>
    39. <td>用户名:</td>
    40. <td><input type="text" name="username"></td>
    41. </tr>
    42. <tr>
    43. <td>密码:</td>
    44. <td><input type="password" name="password"></td>
    45. </tr>
    46. <tr >
    47. <td colspan="11"><input type="button" value="登录" onclick="toLogin()"></td>
    48. </tr>
    49. </table>
    50. </body>
    51. </html>