学习Ajax看着一篇就够了

Ajax 引言

学习Ajax之前一定要会Json,不会的可以参考我的这篇文章↓
https://i.cnblogs.com/posts/edit;postId=13598088

  • AJAX = Asynchronous JavaScript and XML(异步的JavaScript和XML)
  • AJAX是一种不需要重新加载整个网页的情况下,能够更新部分网页的技术
  • Ajax不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术
    在2005年,Google通过其Google Suggest使AJAX变得流行起来.
    GoogleSuggest使用AJAX创造出动态性极强的web界面:当您在谷歌的搜索框输入关键字时,JavaScript会把这些字符发送到服务器,然后服务器会返回一个搜索建议列表.

作用: 增强B/S体验性

AJAX能干啥?

注册时,输入应户名自动监测用户是否已经存在.
登录时,提示用户名密码错误
删除数据行时,将行ID发送到后台,后台数据库中删除,数据库删除成功后,在页面DOM中将数据行也删除

用页面实现一个小栗子(伪Ajax)

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
<script type="text/javascript">
  window.onload = function f(){ //加载的时候运行的函数
  var myDate = new Date();
        document.getElementById('currentTime').innerText = myDate; //展示时间
    }
  function loadPage() {
  var targetURL = document.getElementById('url').value; //目标URl获取值
        console.log(targetURL); //打印下url看看对不对
        document.getElementById('iframePosi').src = targetURL; //展示对应页面
    }
</script>

<div>
 <p>输入要加载的地址<span id="currentTime"></span></p>
 <p>
 <input type="text" id="url" value="https://www.Baidu.com/">
 <input type="button" value="提交" onclick="loadPage()">
 </p>
</div>

<div>
 <h3>
  加载页面位置:
    </h3>
 <iframe style=" 100%;height: 500px" id="iframePosi">

 </iframe>
</div>

</body>
</html>

AJAX的原理

上面是用页面实现的,没有用纯JS实现Ajax,Ajax其本质是XMLHttpRequest(XHR)
Ajax的核心是(XHR).XHR为向服务器发送请求和解析服务器响应提供了接口.能够以异步的方式从服务器获取新数据.
jQuery提供多个与Ajax有关的方法.
通过jQuery Ajax方法能够使用HTTP get 和Http post从远程服务器上请求文本,HTML,XML或JSon-同时能够把这些外部数据直接载入网页的被选元素中.
jQuery不是生产者,而是大自然的搬运工
jQuery Ajax本质就是XMLHttpRequest,对他进行了封装,方便调用!我们看下

使用jQuery

首先从官网下载.js文件https://jquery.com/download/

两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。

  • GET - 从指定的资源请求数据
  • POST - 向指定的资源提交要处理的数据

GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。

POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据。

如需学习更多有关 GET 和 POST 以及两方法差异的知识,请阅读我们的 HTTP 方法 - GET 对比 POST


jQuery - AJAX get() 和 post() 方法


jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。


HTTP 请求:GET vs. POST

jQuery $.get() 方法

$.get() 方法通过 HTTP GET 请求从服务器上请求数据。

语法:

$.get(URL,callback);

必需的 URL 参数规定您希望请求的 URL。

可选的 callback 参数是请求成功后所执行的函数名。

下面的例子使用 $.get() 方法从服务器上的一个文件中取回数据:

实例

$("button").click(function(){
    $.get("demo_test.php",function(data,status){ 
        alert("数据: " + data + "
状态: " + status); }); });

尝试一下 »

$.get() 的第一个参数是我们希望请求的 URL("demo_test.php")。

第二个参数是回调函数。第一个回调参数存有被请求页面的内容,第二个回调参数存有请求的状态。

提示: 这个 PHP 文件 ("demo_test.php") 类似这样:

jQuery $.post() 方法

$.post() 方法通过 HTTP POST 请求向服务器提交数据。

语法:

$.post(URL,data,callback);

必需的 URL 参数规定您希望请求的 URL。

可选的 data 参数规定连同请求发送的数据。

可选的 callback 参数是请求成功后所执行的函数名。

下面的例子使用 $.post() 连同请求一起发送数据:

实例

$("button").click(function(){ 
    $.post("/try/ajax/demo_test_post.php", {  
        name:"菜鸟教程", 
        url:"http://www.runoob.com"  }, 
        function(data,status){  
            alert("数据: 
" + data + "
状态: " + status);
        });
});

尝试一下 »

$.post() 的第一个参数是我们希望请求的 URL ("demo_test_post.php")。

然后我们连同请求(name 和 url)一起发送数据。

"demo_test_post.php" 中的 PHP 脚本读取这些参数,对它们进行处理,然后返回结果。

第三个参数是回调函数。第一个回调参数存有被请求页面的内容,而第二个参数存有请求的状态。





我会写代码+代码改变世界=我会改变世界! 为什么要改变世界? 如果无法改变世界,那么,世界就会改变我......
原文地址:https://www.cnblogs.com/chougoushi/p/13603055.html