原生Ajax

  1. <!DOCTYPE html>
  2. <html lang='zh'>
  3. <head>
  4. <meta charset="UTF-8">
  5. <link rel='stylesheet' href=''>
  6. <script>
  7. window.onload = function () {
  8. var btn = document.getElementById('btn');
  9. btn.onclick = function(){
  10. //第一步:创建对象
  11. var xhr = null;
  12. var username = document.getElementById('username').value;
  13. var password = document.getElementById('password').value;
  14. if (window.XMLHttpRequest) {//标准浏览器
  15. xhr = new XMLHttpRequest();
  16. } else {//兼容IE浏览器
  17. xhr = new ActiveXObject('Microsoft.XMLHTTP');
  18. }
  19. //第二步:配置请求的行为
  20. var url = 'form.php';
  21. xhr.open('post', url, true);//('发送类型','地址',异(true)/同(false)步)
  22. //第三步:执行请求
  23. xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  24. var val = 'username='+username+"&password="+password;
  25. xhr.send(val);
  26. //第四部:指定回调函数
  27. xhr.onreadystatechange = function(){
  28. /*
  29. readyStatey有5个参数:
  30. 0: 对象创建完成
  31. 1: 配置完成
  32. 2: 放送完成
  33. 3: 返回数据
  34. 4: 数据可使用
  35. */
  36. if (xhr.readyState == 4) {
  37. /*
  38. status常见值
  39. 200: 请求成功
  40. 404: 找不到页面
  41. 503: 服务端错误
  42. */
  43. if (xhr.status == 200) {
  44. var data0 = xhr.responseText;//JSON
  45. console.log(data0);
  46. //var data1 == xhr.responseXML;//XML
  47. }
  48. }
  49. }
  50. }
  51. }
  52. </script>
  53. <title>原生Ajax</title>
  54. </head>
  55. <body>
  56. <div>
  57. <form method="post">
  58. 账号:<input type="text" name="username" id="username" value=""><br>
  59. 密码:<input type="password" name="password" id="password" value=""><br>
  60. <input type="button" value="提交" id="btn">
  61. </form>
  62. </div>
  63. </body>
  64. </html>

JQuery