2017-12-21 4 views
1

Ich erhalte Ajax-Antwort alsSpeichern einer Variablen in der Ajax-Antwort als globale Variable und zum Senden anderer Ajax-Anfragen?

{ pid: 6, status: true } 

Ich brauche pid zu speichern und es in der nächsten Ajax Post-Anforderung übergeben.

Mein aktueller vue js ist wie folgt

submitBox = new Vue({ 
    el: "#submitBox", 
    data: { 
    name: '', 
    gstno: '', 
    about: '', 
    pid: '', 
    }, 
    methods: { 
    handelSubmit: function(e) { 
     var vm = this; 
     data = {}; 
     data['name'] = this.name; 
     data['gstno'] = this.gstno; 
     data['about'] = this.about; 
     $.ajax({ 
     url: 'alpha/add/post/', 
     data: data, 
     type: "POST", 
     dataType: 'json', 
     success: function(e) { 
      if (e.status) { 
      alert(" Success") 

      } else { 
      vm.response = e; 

      alert(" Failed") 
      } 
     } 
     }); 
     return false; 
    } 
    }, 
}); 

Ich brauche pid als globale Variable zu speichern und das gleiche für alle AJAX-Anfragen verwenden. Wie kann ich das erreichen?

+0

Wenn Sie "Geschäft" sagen, meinen Sie, das Ergebnis irgendwo außerhalb 'Vue' zu ​​speichern? – kevguy

+0

nein in der vue selbst? und es ist besser, wenn es in der Lage ist, es in einem anderen vue zu benutzen. – med

+0

Oh ... du solltest 'Vue components' und' Vuex' dann besser verwenden, wenn die Daten, die du speichern willst, nur von anderen verwendet werden ' Vue's. – kevguy

Antwort

2

kleine Sache, wenn man kleine Anwendung, und es gibt nicht viel Architektur oder js ist befindet sich auf dieser Seite nur dann können Sie globale Variable verwenden

vuex mit nur für diese kleine Sache ist nicht beeinflussbar (es wird gut sein, wenn er es schon

unter Verwendung)

, wenn Sie dann eingestellt id global

if (e.status) { 
    window._postPid = e.pid; // assume `e` is response and e.pid is 6 
} 
else { 
    // according to your need. 
    // this is optional window._postPid = null; 
} 
Sie zurück ajax Antwort erhalten

jetzt können Sie es überall zugreifen Sie

console.log(window._postPid); // 6 

ist dies nicht bevorzugt für großen App mögen. weil wir nicht globale Namespaces oder Konfliktvariablen verderben wollen.

aber es wird tun, was Sie wollen.

Verwandte Themen