Heim > Web-Frontend > js-Tutorial > Hauptteil

Vergleichende Analyse des Unterschieds zwischen $http.post und jQuery.post in AngularJS_AngularJS

WBOY
Freigeben: 2016-05-16 16:12:46
Original
1351 Leute haben es durchsucht

Oft müssen wir Ajax verwenden, um Beitragsdaten zu übermitteln. Angularjs ähnelt jq und verfügt auch über gekapselte Beiträge.

Aber der Beitrag von jQuery ist offensichtlich einfacher und benutzerfreundlicher als der von AngularJS.

AngularJS:

Code kopieren Der Code lautet wie folgt:

$http.post('do-submit.php',myData)
.success(function(){
// etwas Code
});

jQuery:

Code kopieren Der Code lautet wie folgt:

$.post('do-submit.php', myData, function() {
// etwas Code
});

Sieht so aus, als gäbe es keinen Unterschied, oder? Die mit $http von anglejs übermittelten Daten können jedoch nicht über $_REQUEST/$_POST auf dem PHP-Server abgerufen werden. Stattdessen müssen Sie Folgendes verwenden:

Code kopieren Der Code lautet wie folgt:

$params = json_decode(file_get_contents('php://input'),true);

um es zu bekommen. Was ist der Grund?

Das liegt daran, dass die beiden Beiträge Header unterschiedlich behandeln ... jQuery serialisiert myData als JSON-Objekt, zum Beispiel:

Code kopieren Der Code lautet wie folgt:

var myData = { a : 1, b : 2 };
// jQuery konvertiert myData in einen String, bevor die Daten gepostet werden: „a=1&b=2“

Und Angular nicht.

Was ist die Lösung?

1. Führen Sie jquery ein, vorausgesetzt, dass es den Zielbenutzern nichts ausmacht, Dutzende zusätzlicher K-Skripte zu laden. (Nicht empfohlen)

2. Parameter auf der Serverseite (PHP) über $params = json_decode(file_get_contents('php://input'),true); abrufen. Kleine Projekte können dies tun, große Projekte müssen jedoch einzeln geändert werden eins. (Nicht empfohlen)

3. Ändern Sie die Standardverarbeitung von Angulars $httpProvider: http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/ (Um die zukünftige Verwaltung zu erleichtern, ist dies der beste Weg)

Haben Sie ein besseres Verständnis für den Unterschied zwischen $http.post und jQuery.post in AngularJS? Ich hoffe, Sie werden durch die Lektüre dieses Artikels etwas gewinnen.

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!