<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Ajax - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ freeCodeCamp 是一个免费学习编程的开发者社区，涵盖 Python、HTML、CSS、React、Vue、BootStrap、JSON 教程等，还有活跃的技术论坛和丰富的社区活动，在你学习编程和找工作时为你提供建议和帮助。 ]]>
        </description>
        <link>https://www.freecodecamp.org/chinese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Ajax - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/chinese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Tue, 02 Jun 2026 16:51:35 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/chinese/news/tag/ajax/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ 写给初学者的编程教程：ajax 是什么以及 ajax 如何使用 ]]>
                </title>
                <description>
                    <![CDATA[ 原文：AJAX Tutorial: What AJAX Is and How to Use it [https://www.freecodecamp.org/news/ajax-tutorial/] 什么是 AJAX AJAX  是 Asynchronous JavaScript And XML  的缩写。它不是一种编程语言。它是一种基于 HTML、CSS、JavaScript 和 XML，让开发更好、更快和更有互动的 Web 应用的技术。  1. HTML：超文本标记语言（HTML）用于定义网络应用程序的结构。  2. CSS：层叠样式表（CSS）用于为 Web 应用程序提供外观和样式。  3. JavaScript：JavaScript 用于使网络应用程序互动、提供趣味和提高用户友好性。  4. XML：可扩展标记语言（XML）是一种用于存储和传输网络服务器数据的格式。 AJAX 中的异步是什么意思 异步意味着网络应用程序可以从网络服务器发送和接收数据，而无需刷新页面。这个向服务器发送数据和接收服务器数据以及更新网页不同部分的后台过程，就是 AJAX 的异步属性/功能。 A ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/ajax-tutorial/</link>
                <guid isPermaLink="false">6264ebe899ec7406219e789d</guid>
                
                    <category>
                        <![CDATA[ Ajax ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ luojiyin ]]>
                </dc:creator>
                <pubDate>Sat, 23 Apr 2022 06:19:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2022/04/5f9c9c72740569d1a4ca3245.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>原文：<a href="https://www.freecodecamp.org/news/ajax-tutorial/">AJAX Tutorial: What AJAX Is and How to Use it</a></p><!--kg-card-begin: markdown--><h2 id="ajax">什么是 AJAX</h2>
<p><strong>AJAX</strong> 是 <strong>Asynchronous JavaScript And XML</strong> 的缩写。它不是一种编程语言。它是一种基于 HTML、CSS、JavaScript 和 XML，让开发更好、更快和更有互动的 Web 应用的技术。</p>
<ol>
<li>HTML：超文本标记语言（HTML）用于定义网络应用程序的结构。</li>
<li>CSS：层叠样式表（CSS）用于为 Web 应用程序提供外观和样式。</li>
<li>JavaScript：JavaScript 用于使网络应用程序互动、提供趣味和提高用户友好性。</li>
<li>XML：可扩展标记语言（XML）是一种用于存储和传输网络服务器数据的格式。</li>
</ol>
<h3 id="ajax">AJAX 中的异步是什么意思</h3>
<p>异步意味着网络应用程序可以从网络服务器发送和接收数据，而无需刷新页面。这个向服务器发送数据和接收服务器数据以及更新网页不同部分的后台过程，就是 AJAX 的异步属性/功能。</p>
<h2 id="ajax">AJAX 是如何工作的</h2>
<p>AJAX 利用浏览器内置的 <strong>XMLHttpRequest 对象</strong> 从网络服务器请求数据，并利用 <strong>HTML DOM</strong> 显示或使用数据。</p>
<p><strong>XMLHttpRequest 对象</strong>：它是一个对象形式的 API，其方法用于网络浏览器和网络服务器之间传输数据。</p>
<p><strong>HTML DOM</strong>：当一个网页被加载时，浏览器会创建一个页面的文档对象模型。</p>
<p><strong>创建一个 XMLHttpRequest 对象：</strong></p>
<pre><code class="language-javascript">var xhttp = new XMLHttpRequest();
</code></pre>
<p><strong>XMLHttpRequest 对象的属性：</strong></p>
<p><code>readystate</code> 是 XMLHttpRequest 对象的一个属性，它是 XMLHttpRequest 的一种状态值。</p>
<ul>
<li>0：请求未被初始化</li>
<li>1：服务器连接建立</li>
<li>2：收到请求</li>
<li>3：处理请求</li>
<li>4：请求完成，响应准备就绪</li>
</ul>
<p><code>onreadystatechange</code>是 XMLHttpRequest 对象的一个属性，它定义了一个当 readyState 属性改变时要调用的函数。</p>
<p><code>status</code> 是 XMLHttpRequest 对象的一个属性，用于返回一个请求的状态值。</p>
<ul>
<li>200："OK"</li>
<li>403："Forbidden"</li>
<li>404："Not Found"</li>
</ul>
<p><strong>XMLHttpRequest对象方法：</strong> 为了向 Web 服务器发送请求，我们使用 XMLHttpRequest 对象的 open() 和 send() 方法。</p>
<pre><code class="language-javascript">xhttp.open('GET', 'content.txt', true);
xhttp.send();
</code></pre>
<p><strong>使用 JavaScript 创建一个函数 changeContent()：</strong></p>
<pre><code class="language-javascript">function changeContent() {
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function () {
        if (this.readyState == 4 &amp;&amp; this.status == 200) {
            document.getElementById('foo').innerHTML = this.responseText;
        }
    };
    xhttp.open('GET', 'content.txt', true);
    xhttp.send();
}
</code></pre>
<p><strong>改变网页内容的 AJAX 实例：</strong></p>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html&gt;
    &lt;body&gt;
        &lt;div id="foo"&gt;
            &lt;h2&gt;The XMLHttpRequest Object&lt;/h2&gt;
            &lt;button type="button" onclick="changeContent()"&gt;
                Change Content
            &lt;/button&gt;
        &lt;/div&gt;
        &lt;script&gt;
            function changeContent() {
                var xhttp = new XMLHttpRequest();
                xhttp.onreadystatechange = function () {
                    if (this.readyState == 4 &amp;&amp; this.status == 200) {
                        document.getElementById(
                            'foo'
                        ).innerHTML = this.responseText;
                    }
                };
                xhttp.open('GET', 'content.txt', true);
                xhttp.send();
            }
        &lt;/script&gt;
    &lt;/body&gt;
&lt;/html&gt;
</code></pre>
<p>文件 <code>content.txt</code> 应该存在于Web应用程序的根目录中。</p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 用 JavaScript 发起 HTTP 请求的几种方法 ]]>
                </title>
                <description>
                    <![CDATA[ JavaScript 具有非常棒的模块和方法，可以用来建立可从服务器端资源发送或接收数据的 HTTP 请求。本文会带着大家一起看看在 JavaScript 中常用的建立 HTTP 请求的方式有哪些。 Ajax Ajax 是最常规的建立异步 HTTP 请求的方式。你可以使用 HTTP POST 方法来发送数据，以及使用 HTTP GET 来接收数据。我们先来看看如何发起一个GET 请求。这里我会用到一个免费在线的 REST API 工具 JSONPlaceholder，它可以用来给开发者返回随机的 JSON 格式数据。 要在 Ajax 中发起一个 HTTP 调用，你需要初始化一个新的 XMLHttpRequest() 方法，指定 URL 端点和 HTTP 方法（在本例中为 GET）。最后，使用open() 方法将两者结合起来，并调用send() 方法执行请求。 我们可以在XMLHTTPRequest.onreadystatechange 的事件监听器中输出 HTTP 请求结果日志到控制台中，这个事件监听器会在 readystatechanged 事件发生的时候触发。 const  ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/the-most-popular-ways-to-make-an-http-request-in-javascript/</link>
                <guid isPermaLink="false">5fe2fec839641a0517d52589</guid>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                    <category>
                        <![CDATA[ HTTP ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Ajax ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ arronKler ]]>
                </dc:creator>
                <pubDate>Tue, 23 Mar 2021 09:35:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2020/12/1_gqHgCNubMncv7EwWNdArGQ.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>JavaScript 具有非常棒的模块和方法，可以用来建立可从服务器端资源发送或接收数据的 HTTP 请求。本文会带着大家一起看看在 JavaScript 中常用的建立 HTTP 请求的方式有哪些。</p><h3 id="ajax">Ajax</h3><p>Ajax 是最常规的建立异步 HTTP 请求的方式。你可以使用 HTTP POST 方法来发送数据，以及使用 HTTP GET 来接收数据。我们先来看看如何发起一个 &nbsp;<code>GET</code> &nbsp;请求。这里我会用到一个免费在线的 REST API 工具 JSONPlaceholder，它可以用来给开发者返回随机的 JSON 格式数据。</p><p>要在 Ajax 中发起一个 HTTP 调用，你需要初始化一个新的 <code>XMLHttpRequest()</code> 方法，指定 URL 端点和 HTTP 方法（在本例中为 GET）。最后，使用 &nbsp;<code>open()</code> &nbsp;方法将两者结合起来，并调用 &nbsp;<code>send()</code> &nbsp;方法执行请求。</p><p>我们可以在 &nbsp;<code>XMLHTTPRequest.onreadystatechange</code> &nbsp;的事件监听器中输出 HTTP 请求结果日志到控制台中，这个事件监听器会在 &nbsp;<code>readystatechanged</code> &nbsp;事件发生的时候触发。</p><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/news/content/images/2020/12/image-28.png" class="kg-image" alt="image-28" width="600" height="400" loading="lazy"></figure><pre><code class="language-js">const Http = new XMLHttpRequest();
const url='https://jsonplaceholder.typicode.com/posts';
Http.open("GET", url);
Http.send();

Http.onreadystatechange = (e) =&gt; {
  console.log(Http.responseText)
}
</code></pre><p>如果你查看浏览器的控制台，上面的代码会返回一组 JSON 格式的数组数据。但是我们怎么知道请求已经完成了呢？换句话说，我们应该怎样处理 Ajax 的响应数据呢？</p><p><code>onreadystatechange</code> &nbsp;有两个方式可以让我们可以检测到当前请求的状态， &nbsp;<code>readyState</code> &nbsp;和 &nbsp;<code>status</code>。</p><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/news/content/images/2020/12/image-29.png" class="kg-image" alt="image-29" width="600" height="400" loading="lazy"></figure><p>如果 &nbsp;<code>readyState</code> &nbsp;等于 4，意味着请求已经完成了。<code>readyState</code> &nbsp;这个属性可以有 5 种状态值。你可以点击这里<a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState">了解更多</a>。</p><p>除了直接通过 JavaScript 创建 Ajax 调用，还有其他的非常有效的创建 HTTP 调用的方法，比如 jQuery 中的方法 &nbsp;<code>$.Ajax</code>。现在我们就来讨论这些方法。</p><h3 id="jquery-">jQuery 方法</h3><p>jQuery 有很多可以轻松处理 HTTP 请求的方法。为了能使用到这些方法，你需要在你的项目中引入 jQuery 库。</p><pre><code class="language-html">&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"&gt;&lt;/script&gt;
</code></pre><h4 id="-ajax">$.ajax</h4><p>jQuery 的 ajax 是发起 HTTP 调用最简单的方法之一。</p><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/news/content/images/2020/12/image-30.png" class="kg-image" alt="image-30" width="600" height="400" loading="lazy"></figure><p>$.ajax 方法拥有很多参数，有的是必要的，有的是可选的。它有两个回调选项 &nbsp;<code>success</code> &nbsp;和 &nbsp;<code>error</code> &nbsp;，可以用来处理接收到的响应数据。</p><h4 id="-get-">$.get 方法</h4><p>$.get 方法用来执行 GET 请求，它接收两个参数：端点和回调函数。</p><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/news/content/images/2020/12/image-31.png" class="kg-image" alt="image-31" width="600" height="400" loading="lazy"></figure><h4 id="-post">$.post</h4><p><code>**$.post**</code> &nbsp;方法是另一种向服务端发送数据的方法，它接收三个参数：<code>url</code>，你想要发送的数据，和一个回调函数。</p><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/news/content/images/2020/12/image-32.png" class="kg-image" alt="image-32" width="600" height="400" loading="lazy"></figure><h4 id="-getjson">$.getJSON</h4><p><code>$.getJSON</code> &nbsp;方法仅用于获取 JSON 格式的数据。它接收两个参数：<code>url</code> &nbsp;和一个回调函数。</p><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/news/content/images/2020/12/image-33.png" class="kg-image" alt="image-33" width="600" height="400" loading="lazy"></figure><p>jQuery 有以上这些方法用来给远端服务器发起请求或者传递数据。不过你最终可以将所有的这些方法都用一个方法来实现: &nbsp;<code>$.ajax</code> &nbsp;, 正如下面示例中所看到的那样。</p><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/news/content/images/2020/12/image-34.png" class="kg-image" alt="image-34" width="600" height="400" loading="lazy"></figure><h3 id="fetch">fetch</h3><p><code>fetch</code> &nbsp;是一个功能强大的新的 web API，它能够让你发起异步的请求。实际上， &nbsp;<code>fetch</code> &nbsp;是最好的也是我最喜欢用的发起 HTTP 请求的方式之一。它会返回一个 “Promise”，这也是 ES6 中最强大的特性之一，如果你不是很熟悉 ES6，可以看看<a href="https://medium.freecodecamp.org/write-less-do-more-with-javascript-es6-5fd4a8e50ee2">这篇文章</a>了解一下。Promise 可以让我们用一种更聪明的方式处理异步请求。让我们来看一下 &nbsp;<code>fetch</code> &nbsp;从技术上来说是如何工作的。</p><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/news/content/images/2020/12/image-35.png" class="kg-image" alt="image-35" width="600" height="400" loading="lazy"></figure><p><code>fetch</code> &nbsp;函数接收一个必要参数：<code>端点</code> &nbsp;URL。在下面的示例中它也有其它的可选参数：</p><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/news/content/images/2020/12/image-36.png" class="kg-image" alt="image-36" width="600" height="400" loading="lazy"></figure><p>如你所见，<code>fetch</code> &nbsp;在创建 HTTP 请求方面有很多优势。你可以从<a href="https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch">这里</a>了解更多。另外，在 fetch 之上也有一些其他的模块和插件可以让我们给服务端发送请求或者从服务端接收请求，比如<a href="https://github.com/axios/axios">axios</a></p><h3 id="axios">Axios</h3><p>Axios 是一个开源的创建 HTTP 请求的库，它提供了许多好用的特性，让我们来看一看它是如何用的吧。</p><h4 id="usage-">Usage:</h4><p>首先，你需要引入 Axios。这里有两种方式将 Axios 引入你的项目。</p><p>第一种，你可以使用 npm 进行安装:</p><pre><code class="language-shell">npm install axios --save
</code></pre><p>然后你需要引入它:</p><pre><code class="language-js">import axios from 'axios'
</code></pre><p>第二种，你可以使用 CDN 来引入 axios：</p><pre><code class="language-html">&lt;script src="https://unpkg.com/axios/dist/axios.min.js"&gt;&lt;/script&gt;
</code></pre><h4 id="-axios-">使用 axios 创建请求:</h4><p>基于 Axios，你可以使用 &nbsp;<code>GET</code> &nbsp;和 &nbsp;<code>POST</code> &nbsp;来向服务端请求数据和发送数据。</p><h4 id="get-">GET:</h4><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/news/content/images/2020/12/image-37.png" class="kg-image" alt="image-37" width="600" height="400" loading="lazy"></figure><p><code>axios</code> 需要一个必填参数，当然你也可以提供第二个可选参数。这个示例调用一些数据作简单的查询。</p><h4 id="post-">POST:</h4><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/news/content/images/2020/12/image-38.png" class="kg-image" alt="image-38" width="600" height="400" loading="lazy"></figure><p><a href="https://github.com/axios/axios">Axios</a> &nbsp;返回一个 “Promise”。如果你对 Promise 比较熟悉的话，你应该知道用 Promise 可以用来执行并行请求。这里你就可以用 axios 在同一时间运行多个并行请求。</p><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/news/content/images/2020/12/image-39.png" class="kg-image" alt="image-39" width="600" height="400" loading="lazy"></figure><p>Axios 还提供了一些其他的方法和选项，你可以在<a href="https://github.com/axios/axios">这里</a>具体看看。</p><h3 id="angular-httpclient">Angular HttpClient</h3><p>Angular 有它自己的和 Angular 应用一起运行的 HTTP 模块。它使用到了 &nbsp;<a href="http://reactivex.io/rxjs/">RxJS</a> &nbsp;库来处理异步请求，同时还提供了许多用来执行 HTTP 请求的选择。</p><h4 id="-angular-httpclient-">使用 Angular HttpClient 来发起一个服务端调用</h4><p>为了能使用 Angular HttpClient 来发起一个请求，我们需要将代码运行在一个 Angular 应用中。所以我这里就创建了一个。如果你对 Angular 不是很熟悉的话，可以看一下我的文章 &nbsp;<a href="https://medium.freecodecamp.org/learn-how-to-create-your-first-angular-app-in-20-min-146201d9b5a7">20分钟内学会如何创建你的第一个 Angular 应用</a> &nbsp;。</p><p>我们需要做的第一件事儿是在 &nbsp;<code>app.module.ts</code> &nbsp;中引入 &nbsp;<code>HttpClientModule</code> &nbsp;模块。</p><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/news/content/images/2020/12/image-40.png" class="kg-image" alt="image-40" width="600" height="400" loading="lazy"></figure><p>然后，我们需要创建一个服务来处理请求。你可以使用 &nbsp;<a href="https://cli.angular.io/">Angular CLI</a> &nbsp;很容易的创建一个服务。</p><pre><code class="language-shell">ng g service  FetchdataService
</code></pre><p>再然后，我们需要在 &nbsp;<code>fetchdataService.ts</code> &nbsp;服务中的引入 HttpClient 并且将其注入到构造器中。</p><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/news/content/images/2020/12/image-41.png" class="kg-image" alt="image-41" width="600" height="400" loading="lazy"></figure><p>在 &nbsp;<code>app.component.ts</code> &nbsp;文件中引入 &nbsp;<code>fetchdataService</code>。</p><pre><code class="language-ts">//import
import { FetchdataService } from './fetchdata.service';
</code></pre><p>最后，调用这个服务并运行。</p><p><code>app.component.ts:</code></p><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/news/content/images/2020/12/image-42.png" class="kg-image" alt="image-42" width="600" height="400" loading="lazy"></figure><p>你可以在 &nbsp;<a href="https://stackblitz.com/edit/angular-httpclinent">Stackblitz</a> &nbsp;上看到这整个示例。</p><h3 id="-">总结</h3><p>我们刚刚了解了在 JavaScript 中最常用的创建 HTTP 请求的几种方式。</p><p>感谢你的阅读。如果你喜欢的话，点击 "关注"，然后可以在 &nbsp;<a href="https://twitter.com/SaidHYN">Twitter</a> &nbsp;上找到我。</p><p>顺便说一下，我最近与一群强大的软件工程师一起为我的一个移动应用程序工作。该组织非常出色，产品交付速度非常快，比我所合作的其他公司和自由职业者要快得多，我认为我可以诚实地推荐他们用于其他项目。如果您想与我联系，请给我<a href="https://chinese.freecodecamp.org/news/the-most-popular-ways-to-make-an-http-request-in-javascript/said@devsdata.com">发送电子邮件</a>。</p><p>原文：<a href="https://www.freecodecamp.org/news/here-is-the-most-popular-ways-to-make-an-http-request-in-javascript-954ce8c95aaa/">Here are the most popular ways to make an HTTP request in JavaScript</a>，作者：<a href="https://www.freecodecamp.org/news/author/saidhayani/">Said Hayani</a></p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ JQuery Ajax POST 方法 ]]>
                </title>
                <description>
                    <![CDATA[ 发送异步 http POST 请求以从服务器加载数据，其一般形式为： jQuery.post( url [, data ] [, success ] [, dataType ] )  * url：是唯一的必需参数。此字符串包含向其发送请求的地址。如果未指定其他参数，则返回的数据将被忽略。  * data：与请求一起发送到服务器的对象或字符串。  * success：如果请求成功，将执行这个回调函数。它将返回的数据作为参数，它还传递了响应的文本状态。  * dataType：服务器期望的数据类型，默认值为 Intelligent    Guess（xml、json、脚本、文本、html）。如果提供了此参数，则还必须提供 success 回调。 示例 $.post('http://example.com/form.php', {category:'client', type:'premium'}); 从服务器请求 form.php，发送其他数据并忽略返回的结果。 $.post('http://example.com/form.php', {category:'client', t ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/jquery-ajax-post-method/</link>
                <guid isPermaLink="false">603375e3c354c605689ea5cf</guid>
                
                    <category>
                        <![CDATA[ jQuery ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Ajax ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp.org ]]>
                </dc:creator>
                <pubDate>Wed, 20 Jan 2021 09:20:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2021/02/photo-1466096115517-bceecbfb6fde.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>发送异步 http POST 请求以从服务器加载数据，其一般形式为：</p><pre><code class="language-javascript">jQuery.post( url [, data ] [, success ] [, dataType ] )</code></pre><ul><li>url：是唯一的必需参数。此字符串包含向其发送请求的地址。如果未指定其他参数，则返回的数据将被忽略。</li><li>data：与请求一起发送到服务器的对象或字符串。</li><li>success：如果请求成功，将执行这个回调函数。它将返回的数据作为参数，它还传递了响应的文本状态。</li><li>dataType：服务器期望的数据类型，默认值为 Intelligent Guess（xml、json、脚本、文本、html）。如果提供了此参数，则还必须提供 success 回调。</li></ul><h4 id="-"><strong><strong><strong>示例</strong></strong></strong></h4><pre><code class="language-javascript">$.post('http://example.com/form.php', {category:'client', type:'premium'});</code></pre><p>从服务器请求 <code>form.php</code>，发送其他数据并忽略返回的结果。</p><pre><code class="language-javascript">$.post('http://example.com/form.php', {category:'client', type:'premium'}, function(response){ 
      alert("success");
      $("#mypar").html(response.amount);
});</code></pre><p>从服务器请求 <code>form.php</code>，发送其他数据并处理返回的响应（json 格式）。该示例可以用以下格式编写：</p><pre><code class="language-javascript">$.post('http://example.com/form.php', {category:'client', type:'premium'}).done(function(response){
      alert("success");
      $("#mypar").html(response.amount);
});</code></pre><p>以下示例使用 Ajax 发布表单并将结果放入 div 中：</p><pre><code class="language-html">&lt;!doctype html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
  &lt;meta charset="utf-8"&gt;
  &lt;title&gt;jQuery.post demo&lt;/title&gt;
  &lt;script src="https://code.jquery.com/jquery-1.10.2.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
 
&lt;form action="/" id="searchForm"&gt;
  &lt;input type="text" name="s" placeholder="Search..."&gt;
  &lt;input type="submit" value="Search"&gt;
&lt;/form&gt;
&lt;!-- 搜索结果将在这个 div 中渲染 --&gt;
&lt;div id="result"&gt;&lt;/div&gt;
 
&lt;script&gt;
// 将提交处理程序附加到表单
$( "#searchForm" ).submit(function( event ) {
 
  // 阻止表格正常提交
  event.preventDefault();
 
  // 从页面元素中获取一些值：
  var $form = $( this ),
    term = $form.find( "input[name='s']" ).val(),
    url = $form.attr( "action" );
 
  // 用 post 发送数据
  var posting = $.post( url, { s: term } );
 
  // 将结果放在 div 中
  posting.done(function( data ) {
    var content = $( data ).find( "#content" );
    $( "#result" ).empty().append( content );
  });
});
&lt;/script&gt;
 
&lt;/body&gt;
&lt;/html&gt;</code></pre><p>以下示例使用 GitHub API，通过使用 jQuery.ajax() 获取用户的仓库列表，并将结果放入 div 中：</p><pre><code class="language-html">&lt;!doctype html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
  &lt;meta charset="utf-8"&gt;
  &lt;title&gt;jQuery Get demo&lt;/title&gt;
  &lt;script src="https://code.jquery.com/jquery-1.10.2.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
 
&lt;form id="userForm"&gt;
  &lt;input type="text" name="username" placeholder="Enter gitHub User name"&gt;
  &lt;input type="submit" value="Search"&gt;
&lt;/form&gt;
&lt;!-- 搜索结果将在这个 div 中渲染 --&gt;
&lt;div id="result"&gt;&lt;/div&gt;
 
&lt;script&gt;
// 将提交处理程序附加到表单
$( "#userForm" ).submit(function( event ) {
 
  // 阻止表单正常提交
  event.preventDefault();
 
  // 从页面元素中获取一些值：
  var $form = $( this ),
    username = $form.find( "input[name='username']" ).val(),
    url = "https://api.github.com/users/"+username+"/repos";
 
  // 用 post 发送数据
  var posting = $.post( url, { s: term } );
 
  //Ajax 函数，发送 get 请求
  $.ajax({
    type: "GET",
    url: url,
    dataType:"jsonp"
    success: function(response){
        //如果请求成功，则响应数据

        $( "#result" ).empty().append( response );
    }
  });
  
});
&lt;/script&gt;
 
&lt;/body&gt;
&lt;/html&gt;</code></pre><h3 id="jquery-ajax-"><strong><strong><strong>jQuery.ajax()</strong></strong></strong></h3><p><code>$.post( url [, data ] [, success ] [, dataType ] )</code> 是一个简写的 Ajax 函数，等同于：</p><pre><code class="language-javascript">$.ajax({
  type: "POST",
  url: url,
  data: data,
  success: success,
  dataType: dataType
});</code></pre><p><code>$.ajax()</code> 还有更多选项，可点击<a href="http://api.jquery.com/jquery.ajax/" rel="nofollow">这里</a>查看。</p><h4 id="--1"><strong><strong><strong>更多信息</strong></strong>：</strong></h4><p>请在<a href="https://api.jquery.com/jquery.post/" rel="nofollow">官网</a>查看更多信息。</p><p>原文：<a href="https://www.freecodecamp.org/news/jquery-ajax-post-method/">JQuery Ajax POST Method</a></p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
