Aufeinander folgende Ajax-Aufrufe

Ich brauche ein wenig Hilfe bei meiner Bewerbung design. Mit Ajax möchte ich einige PHP-Ressourcen nacheinander, aber ich glaube nicht, dass wenn es gut ist, um diese unter Verwendung von JQuery $.ajax Methode.

Ich denke, so etwas wie das bedeutet, dass ein Falsches design:

$.ajax({
     url: SERVERURL+'index.php/home/checkAvailability',
     datatype: 'text',
     success: function(data){
        if(data == 'unavailable'){
           //do stuff
        }
        else{
           $.ajax({
              url: SERVERURL+'index.php/home/getWebTree/',
              dataType: 'json',
              success: function(data){
                 //do stuff
              }
           });
        }
     }
  });

Kann jemand mir einen Vorschlag für ein besseres design? Wie kann ich das gleich in einen besseren Weg?

Dank!

EDIT: wie @arnorhs sagen Sie uns, mithilfe der async-parameter könnte eine Lösung sein. Aber ich bin immer noch denken, dass es andere Lösungen anstelle von aufeinander folgenden ajax-Aufrufe.

EDIT2: checkAvailability und getWebTree sind PHP-Funktionen, die mit CodeIgniter habe ich entwickelt, um Ressourcen von einem externen server mit Http_Request Objekt.

function checkAvailability() {
      $this->load->library('pearloader');
      $http_request = $this->pearloader->load('HTTP', 'Request');
      $http_request->setURL('http://myurl');
      $http_request->_timeout = 5;
      $http_request->sendRequest();
      $res = 'available';
      if (!$http_request->getResponseCode())
         $res = 'unavailable';
      return $res;
   }
  • Wir sind gerade Stackerseigentlich Auch:), gibt es einen Grund, warum Sie call-a-web-service überprüfen Verfügbarkeit, anstatt die server-Antwort mit 503 oder ähnlich Ihre getWebTree Aufruf und Umgang mit diesem Fall in eine AJAX - error handler?
  • Es wäre auch interessant zu wissen, warum Sie tun möchten mehrere Anrufe zur gleichen Zeit und nicht nur auf einen einzigen ein, mehr Informationen in der Anfrage
  • Die Ressourcen werden von externen Servern geladen. getWebTree ist nur eine Funktion, die ich erstellt habe zum abrufen von einer von Ihnen. Also ich kann nicht umgehen mit 503-code, oder ich weiß nicht, wie es zu tun.
  • wenn ich das richtig verstehe, sind Sie der Erteilung eines AJAX-Aufruf einer web-service, die wiederum die Erlöse rufen Sie einen anderen web service mit PEAR HTTP_Request und dann relais die Folge. Ist etwas, das verhindert, dass Sie beim Aufruf der zweiten web-service direkt vom client, und die Notwasserung der PHP-Ebene?
  • Der ganze Ort ist Gebäude mit Javascript, also kann ich nicht rufen Sie Sie direkt aus, weil diese in anderen Servern anders sind als meine.
  • möchten Sie vielleicht zu prüfen, JSONP, dann.

InformationsquelleAutor Fran Verona | 2011-02-22
Schreibe einen Kommentar