Inhaltsverzeichnis
5 Lösungen für React AJAX-Anfragen
1. jQuery $.ajax
2、Fetch API
3、SuperAgent
4、Axios
Dies zeigt, wie man $.ajax von jQuery in einer React-Komponente verwendet . Das Einzige, was Aufmerksamkeit erfordert, ist, wie this.setState() im success-Rückruf aufgerufen wird, d. h. wie der Status über die React-API aktualisiert wird, nachdem jQuery erfolgreich empfangen hat die Daten.
Heim Web-Frontend Front-End-Fragen und Antworten Was für die React-Ajax-Entwicklung zu verwenden ist

Was für die React-Ajax-Entwicklung zu verwenden ist

Mar 21, 2022 pm 05:53 PM
ajax react

React Ajax-Entwicklung kann Folgendes verwenden: 1. die „$.ajax“-Methode von jQuery; 3. SuperAgent, eine leichtgewichtige AJAX-API-Bibliothek; 4. Axios-Bibliothek, die hauptsächlich zum Senden von Daten an das Backend verwendet wird Anfrage; 5. Bibliothek anfordern.

Was für die React-Ajax-Entwicklung zu verwenden ist

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Reaktionsversion 17.0.1, Dell G3-Computer.

5 Lösungen für React AJAX-Anfragen

1. jQuery $.ajax

Dies ist eine schnelle und schmutzige Lösung. In der alten Version des offiziellen React-Tutorials verwendeten sie jQuery $.ajax, um zu demonstrieren, wie man Daten vom Server erhält. Wenn Sie gerade erst anfangen, mit React zu lernen und damit zu spielen, kann Ihnen jQuery beim Einstieg und bei der Entwicklung viel Zeit sparen, da wir alle mit jQuery bestens vertraut sind. Dies ist ein Beispiel für die Implementierung von AJAX durch jQuery: $.ajax 来示范如何从服务器获取数据。如果你是刚刚开始学习和把玩 React,jQuery 可以节省你大量入门和开发的时间,因为我们都对 jQuery 非常熟悉了。这是 jQuery 实现 AJAX 的例子:

loadCommentsFromServer: function() {
    $.ajax({
        url: this.props.url,
        dataType: 'json',
        cache: false,
        success: function(data) {
            this.setState({data: data});   // 注意这里
        }.bind(this),
        error: function(xhr, status, err) {
            console.error(this.props.url, status, err.toString());
        }.bind(this)
    });
}
Nach dem Login kopieren

P.S. 这代码段摘自旧版本的官方教程

这里演示了如何在一个 React 组件里面使用 jQuery 的 $.ajax。唯一需要注意的是如何在 success 回调里面调用 this.setState() ,即当 jQuery 成功收到数据之后应该如何通过 React 的 API 更新 state 的。

然而,jQuery 是一个包含很多功能的大头儿,只为了用一下 AJAX 功能而引入整个 jQuery 是没有意义的(除非你还使用 jQuery 做了很多别的事情)。So,用什么才好?答案是 fetch API。

2、Fetch API

https://github.com/github/fetch

Fetch 是个新的、简单的、标准化的API,旨在统一Web通信机制,并替代 XMLHttpRequest。它已经被主流浏览器所支持,针对较旧的浏览器也有了一个 polyfill (Benz乱入:polyfill 直译是填充工具,就是旧浏览器本来不支持某个新的JS API,引入一段js代码后就支持了,这一段js代码给旧浏览器”填充“了一个API。这个单词我实在不知道怎么翻译 ,感觉反而保留原单词不翻译更能让读者理解。)。如果你在使用 Node.js ,你也可以通过 node-fetch 来使 Node.js 支持 Fetch

若把上述用 jQuery $.ajax 的代码段改成 fetch 实现的话,代码应该长这样子:

loadCommentsFromServer: function() {
    fetch(this.props.url).then(function(response){
        // 在这儿实现 setState
    });
}
Nach dem Login kopieren

在一些流行的 React 教程中你也许会发现 fetch 的身影。要了解更多关于 fetch 的情况,可参考下列链接(全英文):

  • Mozilla
  • David Walsh Blog
  • Google Developers
  • WHATWG

3、SuperAgent

https://github.com/visionmedia/superagent

SuperAgent 是一个轻量级的 AJAX API 库,为更好的可读性和灵活性而生。如果某些原因让你不太想用 fetch,那么 SuperAgent 就几乎是必然的选择了。SuperAgent 的用法大概是这样的:

loadCommentsFromServer: function() {
    request.get(this.props.url).end(function(err,res){
        // 在这儿实现 setState
    });
}
Nach dem Login kopieren

SuperAgent 也有 Node.js 版本,API 是一样的。如果你在用 Node.js 和 React 开发同构应用(Benz 乱入:这个链接是我加的,旨在照顾初学者),你可以用 webpack 之类的东西嵌入 superagent 并让它适用于浏览器端。因为浏览器端和服务器端的 API 是一样的,所以其 Node.js 版本不需要修改任何代码就可以在浏览器上运行。

4、Axios

https://github.com/axios/axios

Axios 是一个基于 promise 对象(Benz 乱入:这个链接也是我加的)的 HTTP 客户端;axios主要是用于向后台发起请求的,还有在请求中做更多是可控功能。。与 fetchsuperagent

loadCommentsFromServer: function() {
    axios.get(this.props.url).then(function(response){
        // 在这儿实现 setState
    }).catch(function(error){
        // 处理请求出错的情况
    });
}
Nach dem Login kopieren

P.S. Dieser Codeausschnitt stammt aus einer alten Version des offiziellen Tutorials

Dies zeigt, wie man $.ajax von jQuery in einer React-Komponente verwendet . Das Einzige, was Aufmerksamkeit erfordert, ist, wie this.setState() im success-Rückruf aufgerufen wird, d. h. wie der Status über die React-API aktualisiert wird, nachdem jQuery erfolgreich empfangen hat die Daten.

JQuery ist jedoch ein großes Paket, das viele Funktionen enthält, und es macht keinen Sinn, die gesamte jQuery einzuführen, nur um die AJAX-Funktion zu verwenden (es sei denn, Sie verwenden jQuery auch für viele andere Dinge). Was soll ich also verwenden? Die Antwort ist die fetch API.

2. Fetch API

https://github.com/github/fetch

Fetch ist eine neue, einfache, standardisierte API, die zur Vereinheitlichung von Webkommunikationsmechanismen entwickelt wurde und ersetzt XMLHttpRequest. Es wurde von Mainstream-Browsern unterstützt, und es gibt auch ein Polyfill für ältere Browser

(Benz hat es vermasselt: Polyfill ist im wahrsten Sinne des Wortes ein Fülltool, was bedeutet, dass alte Browser ursprünglich keine neue JS-API unterstützen. Nach der Einführung eines Teils von js Code, es wird unterstützt, dieser Teil des JS-Codes „füllt“ eine API für den alten Browser aus. Ich weiß wirklich nicht, wie man dieses Wort übersetzt, aber ich denke, dass es den Lesern leichter fällt, das ursprüngliche Wort unübersetzt zu lassen verstehen.). Wenn Sie Node.js verwenden, können Sie Node.js auch mit Node-Fetch aktivieren, um Fetch zu unterstützen.

Wenn das obige Codesegment mit jQuery $.ajax in fetch geändert wird, sollte der Code wie folgt aussehen: 🎜
loadCommentsFromServer: function() {
    request(this.props.url, function(err, response, body){
        // 在这儿实现 setState
    });
}
Nach dem Login kopieren
🎜In einigen beliebten React-Tutorials finden Sie möglicherweise fetch enthalten. Um mehr über fetch zu erfahren, klicken Sie bitte auf den folgenden Link (alle auf Englisch): 🎜
  • Mozilla
  • David Walsh Blog
  • Google-Entwickler
  • WHATWG
🎜🎜3, SuperAgent🎜🎜🎜https:/ /github.com/visionmedia/superagent🎜🎜SuperAgent ist eine leichte AJAX-API-Bibliothek, die für bessere Lesbarkeit und Flexibilität entwickelt wurde. Wenn Sie fetch aus irgendeinem Grund nicht verwenden möchten, ist SuperAgent fast eine unumgängliche Wahl. Die Verwendung von SuperAgent ist ungefähr so: 🎜rrreee🎜SuperAgent hat auch eine Node.js-Version und die API ist dieselbe. Wenn Sie Node.js und React verwenden, um isomorphe Anwendungen zu entwickeln🎜 (Benz-Einbruch: Dieser Link wurde von mir hinzugefügt, um sich um Anfänger zu kümmern)🎜, können Sie so etwas wie Webpack zum Einbetten von superagent verwenden Es funktioniert auf der Browserseite. Da die browserseitigen und serverseitigen APIs identisch sind, kann die Node.js-Version im Browser ausgeführt werden, ohne dass Code geändert werden muss. 🎜🎜🎜4, Axios🎜🎜🎜https://github.com/axios/axios🎜🎜Axios ist ein HTTP-Client, der auf Promise-Objekten basiert🎜 (Benz hat es vermasselt: Ich habe diesen Link auch hinzugefügt)🎜; Neben der Durchführung von Anfragen im Hintergrund gibt es auch steuerbare Funktionen, um weitere Aufgaben in der Anfrage zu erledigen. . Wie fetch und superagent unterstützt es sowohl Browser als auch Node.js. Darüber hinaus können Sie auf der Github-Homepage feststellen, dass es über viele nützliche erweiterte Funktionen verfügt. 🎜🎜Dies ist die ungefähre Verwendung von Axios: 🎜rrreee🎜🎜5, Request🎜🎜🎜https://github.com/request/request🎜🎜Wenn ich diese Request-Bibliothek nicht vorstelle, fühlt es sich an, als würde dieser Artikel es sein unvollständig. Dies ist eine JS-Bibliothek, die ideologisch minimalistisches Design verfolgt. Sie hat mehr als 12.000 Sterne auf Github 🎜 (Benz-Chaos: Als ich diesen Artikel übersetzt habe, hatte sie bereits 16.000+ Sterne) 🎜. Es ist auch eines der beliebtesten Node.js-Module. Besuchen Sie die GitHub-Homepage, um mehr zu erfahren. 🎜🎜Anwendungsbeispiel: 🎜rrreee🎜[Verwandte Empfehlungen: 🎜Redis-Video-Tutorial🎜]🎜

Das obige ist der detaillierte Inhalt vonWas für die React-Ajax-Entwicklung zu verwenden ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So beheben Sie den 403-Fehler, der bei einer jQuery-AJAX-Anfrage auftritt So beheben Sie den 403-Fehler, der bei einer jQuery-AJAX-Anfrage auftritt Feb 20, 2024 am 10:07 AM

Titel: Methoden und Codebeispiele zur Behebung von 403-Fehlern in jQuery-AJAX-Anfragen. Der 403-Fehler bezieht sich auf eine Anfrage, dass der Server den Zugriff auf eine Ressource verbietet. Dieser Fehler tritt normalerweise auf, weil der Anfrage die Berechtigungen fehlen oder sie vom Server abgelehnt wird. Wenn Sie jQueryAJAX-Anfragen stellen, stoßen Sie manchmal auf diese Situation. In diesem Artikel wird erläutert, wie dieses Problem gelöst werden kann, und es werden Codebeispiele bereitgestellt. Lösung: Berechtigungen prüfen: Stellen Sie zunächst sicher, dass die angeforderte URL-Adresse korrekt ist und stellen Sie sicher, dass Sie über ausreichende Berechtigungen für den Zugriff auf die Ressource verfügen.

So beheben Sie den Fehler 403 der jQuery AJAX-Anfrage So beheben Sie den Fehler 403 der jQuery AJAX-Anfrage Feb 19, 2024 pm 05:55 PM

jQuery ist eine beliebte JavaScript-Bibliothek zur Vereinfachung der clientseitigen Entwicklung. AJAX ist eine Technologie, die asynchrone Anfragen sendet und mit dem Server interagiert, ohne die gesamte Webseite neu zu laden. Wenn Sie jedoch jQuery zum Senden von AJAX-Anfragen verwenden, treten manchmal 403-Fehler auf. Bei 403-Fehlern handelt es sich in der Regel um vom Server verweigerte Zugriffsfehler, möglicherweise aufgrund von Sicherheitsrichtlinien oder Berechtigungsproblemen. In diesem Artikel besprechen wir, wie Sie bei einer jQueryAJAX-Anfrage den Fehler 403 beheben können

PHP, Vue und React: Wie wählt man das am besten geeignete Frontend-Framework aus? PHP, Vue und React: Wie wählt man das am besten geeignete Frontend-Framework aus? Mar 15, 2024 pm 05:48 PM

PHP, Vue und React: Wie wählt man das am besten geeignete Frontend-Framework aus? Angesichts der kontinuierlichen Weiterentwicklung der Internettechnologie spielen Front-End-Frameworks eine wichtige Rolle bei der Webentwicklung. PHP, Vue und React sind drei repräsentative Frontend-Frameworks, jedes mit seinen eigenen einzigartigen Eigenschaften und Vorteilen. Bei der Auswahl des zu verwendenden Frontend-Frameworks müssen Entwickler eine fundierte Entscheidung treffen, die auf den Projektanforderungen, Teamfähigkeiten und persönlichen Vorlieben basiert. In diesem Artikel werden die Eigenschaften und Verwendungsmöglichkeiten der drei Front-End-Frameworks PHP, Vue und React verglichen.

PHP und Ajax: Erstellen einer Autovervollständigungs-Vorschlags-Engine PHP und Ajax: Erstellen einer Autovervollständigungs-Vorschlags-Engine Jun 02, 2024 pm 08:39 PM

Erstellen Sie eine Engine für Autovervollständigungsvorschläge mit PHP und Ajax: Serverseitiges Skript: Verarbeitet Ajax-Anfragen und gibt Vorschläge zurück (autocomplete.php). Client-Skript: Ajax-Anfrage senden und Vorschläge anzeigen (autocomplete.js). Praktischer Fall: Fügen Sie ein Skript in die HTML-Seite ein und geben Sie die Kennung des Sucheingabeelements an.

Wie kann das Problem des jQuery AJAX-Fehlers 403 gelöst werden? Wie kann das Problem des jQuery AJAX-Fehlers 403 gelöst werden? Feb 23, 2024 pm 04:27 PM

Wie kann das Problem des jQueryAJAX-Fehlers 403 gelöst werden? Bei der Entwicklung von Webanwendungen wird jQuery häufig zum Senden asynchroner Anfragen verwendet. Allerdings kann bei der Verwendung von jQueryAJAX manchmal der Fehlercode 403 auftreten, der darauf hinweist, dass der Zugriff vom Server verboten ist. Dies wird normalerweise durch serverseitige Sicherheitseinstellungen verursacht, es gibt jedoch Möglichkeiten, das Problem zu beheben. In diesem Artikel wird erläutert, wie Sie das Problem des jQueryAJAX-Fehlers 403 lösen können, und es werden spezifische Codebeispiele bereitgestellt. 1. machen

Integration von Java-Framework und Front-End-React-Framework Integration von Java-Framework und Front-End-React-Framework Jun 01, 2024 pm 03:16 PM

Integration von Java-Framework und React-Framework: Schritte: Richten Sie das Back-End-Java-Framework ein. Projektstruktur erstellen. Konfigurieren Sie Build-Tools. Erstellen Sie React-Anwendungen. Schreiben Sie REST-API-Endpunkte. Konfigurieren Sie den Kommunikationsmechanismus. Praxisfall (SpringBoot+React): Java-Code: RESTfulAPI-Controller definieren. Reaktionscode: Rufen Sie die von der API zurückgegebenen Daten ab und zeigen Sie sie an.

Wie erhalte ich Variablen aus der PHP-Methode mit Ajax? Wie erhalte ich Variablen aus der PHP-Methode mit Ajax? Mar 09, 2024 pm 05:36 PM

Die Verwendung von Ajax zum Abrufen von Variablen aus PHP-Methoden ist ein häufiges Szenario in der Webentwicklung. Durch Ajax kann die Seite dynamisch abgerufen werden, ohne dass die Daten aktualisiert werden müssen. In diesem Artikel stellen wir vor, wie man Ajax verwendet, um Variablen aus PHP-Methoden abzurufen, und stellen spezifische Codebeispiele bereit. Zuerst müssen wir eine PHP-Datei schreiben, um die Ajax-Anfrage zu verarbeiten und die erforderlichen Variablen zurückzugeben. Hier ist ein Beispielcode für eine einfache PHP-Datei getData.php:

PHP vs. Ajax: Lösungen zum Erstellen dynamisch geladener Inhalte PHP vs. Ajax: Lösungen zum Erstellen dynamisch geladener Inhalte Jun 06, 2024 pm 01:12 PM

Ajax (Asynchronous JavaScript and XML) ermöglicht das Hinzufügen dynamischer Inhalte, ohne die Seite neu laden zu müssen. Mit PHP und Ajax können Sie eine Produktliste dynamisch laden: HTML erstellt eine Seite mit einem Containerelement und die Ajax-Anfrage fügt die Daten nach dem Laden zum Element hinzu. JavaScript verwendet Ajax, um über XMLHttpRequest eine Anfrage an den Server zu senden, um Produktdaten im JSON-Format vom Server abzurufen. PHP nutzt MySQL, um Produktdaten aus der Datenbank abzufragen und in das JSON-Format zu kodieren. JavaScript analysiert die JSON-Daten und zeigt sie im Seitencontainer an. Durch Klicken auf die Schaltfläche wird eine Ajax-Anfrage zum Laden der Produktliste ausgelöst.

See all articles