Heim > Web-Frontend > js-Tutorial > axios kümmert sich um das HTTP-Senden von Posts und Gets

axios kümmert sich um das HTTP-Senden von Posts und Gets

php中世界最好的语言
Freigeben: 2018-04-17 15:47:23
Original
2314 Leute haben es durchsucht

Dieses Mal werde ich Ihnen die Axios-Verarbeitung von http-Senden Post und Get vorstellen, Axios-Verarbeitung von HTTP-Senden Post und Get, was die Vorsichtsmaßnahmen sind. Das Folgende ist ein praktischer Fall, werfen wir einen Blick darauf.

axios Chinesische Dokumentation 

https://github.com/mzabriskie/axios#using-applicationx-www-form-urlencoded-format Axios-Dokumentation

Für die Verarbeitung von http-Anfragen wird nicht mehr empfohlen, vue-resource zu verwenden. Hier finden Sie eine kurze Einführung.

Installieren

Verwenden Sie den Knoten

npm install axios
Nach dem Login kopieren

Verwenden Sie cdn

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
Nach dem Login kopieren

Grundlegende VerwendungMethoden

Anfrage erhalten

// Make a request for a user with a given ID
axios.get('/user?ID=12345')
 .then(function (response) {
  console.log(response);
 })
 .catch(function (error) {
  console.log(error);
 });
// Optionally the request above could also be done as
axios.get('/user', {
  params: {
   ID: 12345
  }
 })
 .then(function (response) {
  console.log(response);
 })
 .catch(function (error) {
  console.log(error);
 });
Nach dem Login kopieren

Anfrage posten

 axios.post('/user', {
  firstName: 'Fred',
  lastName: 'Flintstone'
 })
 .then(function (response) {
  console.log(response);
 })
 .catch(function (error) {
  console.log(error);
 });
Nach dem Login kopieren

Mehrere Anfragen gleichzeitig ausführen

function getUserAccount() {
 return axios.get('/user/12345');
}
function getUserPermissions() {
 return axios.get('/user/12345/permissions');
}
axios.all([getUserAccount(), getUserPermissions()])
 .then(axios.spread(function (acct, perms) {
  // Both requests are now complete
 }));
Nach dem Login kopieren

Die Verwendungsmethode hierfür ist tatsächlich die gleiche wie beim nativen Ajax, und Sie können sie auf einen Blick verstehen.

Verwenden Sie das Formular application/x-www-urlencoded, Post-Anfrage:

var qs = require('qs');
 axios.post('/bbg/goods/get_goods_list_wechat', qs.stringify({"data": JSON.stringify({
  "isSingle": 1,
  "sbid": 13729792,
  "catalog3": 45908012,
  "offset": 0,
  "pageSize": 25
 })}), {
  headers: {
   "BBG-Key": "ab9ef204-3253-49d4-b229-3cc2383480a6",
  }
 })
 .then(function (response) {
  // if (response.data.code == 626) {
   console.log(response);
  // }
 }).catch(function (error) {
  console.log(error);
 });
Nach dem Login kopieren

Spezifisches Nutzungsreferenzdokument: https://github.com/mzabriskie/axios#using-applicationx-www-form-urlencoded-format

Hinweis: Bei Post-Anfragen ist im Allgemeinen der erste Parameter die URL, der zweite Parameter die zu sendenden Anfragetextdaten und der dritte Parameter die Konfiguration der Anfrage.

Außerdem: axios verwendet standardmäßig das application/json-Format. Wenn qs.stringify nicht anwendbar ist, ist das endgültige Inhaltstypformat weiterhin json, auch wenn der Anforderungsheader hinzugefügt wird.

Für Post-Anfragen können wir zur Implementierung auch den folgenden JQuery-Ajax verwenden:

    $.ajax({
     url:'api/bbg/goods/get_goods_list_wechat',
     data:{
      'data': JSON.stringify({
            "isSingle": 1,
            "sbid": 13729792,
            "catalog3": 45908012,
            "offset": 0,
            "pageSize": 25
          })    
     },  
     beforeSend: function(request) {
      request.setRequestHeader("BBG-Key", "ab9ef204-3253-49d4-b229-3cc2383480a6");
     }, 
     type:'post', 
     dataType:'json', 
     success:function(data){   
      console.log(data);
     },
     error: function (error) {
      console.log(err);
     },
     complete: function () {
     }
    });
Nach dem Login kopieren

Offensichtlich kann durch Vergleich festgestellt werden, dass das Anforderungsformular von jquery einfacher ist und das Standarddatenformat von jqury application/x-www-urlencoded ist, was in dieser Hinsicht praktischer ist.

Darüber hinaus sind bei zwei identischen Anfragen die von den beiden Anfragen erzielten Ergebnisse unterschiedlich, selbst wenn beide Anfragen erfolgreich sind

Es ist nicht schwer zu erkennen: Die von Axios zurückgegebenen Ergebnisse werden mit einer Schicht mehr gepackt als die Struktur (tatsächliche Ergebnisse), die von Jquerys Ajax zurückgegeben wird, einschließlich zugehöriger Konfiguration, Header, Anfrage usw.

Für Get-Anfragen empfehle ich persönlich die Verwendung von axios.get(), wie unten gezeigt:

 axios.get('/bbg/shop/get_classify', {
  params: {
   sid: 13729792
  },
  headers: {
   "BBG-Key": "ab9ef204-3253-49d4-b229-3cc2383480a6"
  }
 })
 .then(function (response) {
  if (response.data.code == 130) {
   items = response.data.data;
   store.commit('update', items);
   console.log(items);
  }
  console.log(response.data.code);
 }).catch(function (error) {
  console.log(error);
  console.log(this);
 });
Nach dem Login kopieren

Das heißt, der erste Parameter ist: URL und der zweite Parameter ist ein Konfigurationsobjekt. Wir können Parameter im Konfigurationsobjekt festlegen, um Parameter zu übergeben.

Ich persönlich verstehe, warum get keinen zweiten Parameter als übergebene Abfrage--Zeichenfolge hat, während post einen zweiten Parameter als Post-Daten hat.

Denn get kann keine Abfragezeichenfolge oder Get-Anfrage haben, aber post muss Post-Daten haben, andernfalls besteht keine Notwendigkeit, post zu verwenden.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

JS zeigt Fortschrittsbalken beim Hochladen von Dateien an

Anzeigefunktion für Layer-Front-End-Komponentenbilder

Das obige ist der detaillierte Inhalt vonaxios kümmert sich um das HTTP-Senden von Posts und Gets. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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