Ankündigung

Einklappen
Keine Ankündigung bisher.

Reload nach POST

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Reload nach POST

    Halllo liebe Kollegen,

    folgendes Szenario stellt mir:

    1. Es wird eine Stadt eingegeben
    2. Die Stadt wird per $_GET an einen neuen View übergeben
    3. Anhand der Stadt werden im neuen View die GEODATEN (latlon) errechnet
    und diese per Ajax in eine Session gespeichert
    4. Gleichzeitg wird in der Action eine Suche nach Lokalen in dieser Stadt abgesetzt

    Das Problem ist, dass Schritt 3 und 4 gleichzeitig ausgeführt werden. Der View muss also immer einmal neu geladen werden, damit dr aktuelle Standort übernommen wird.

    Ein erster (zug. unsauberer) Gedanke war das so umzusetzen:

    Code:
     if ($.post("../lokale/set-map", {
    lat: results[0]['geometry']['location']['k'], 
    lon:results[0]['geometry']['location']['B'], 
    address: content})== "ready") {
                  location.reload();
    }
    Letztlich wird aber so immer ein reload umsonst angestoßen UND mit obiger Syntax klappt es auch nicht.

    Mir fehlt hier irgendwie ein Denkanstoß. Über eine ebensolchen bin ich sehr dankbar!

  • #2
    Das Problem ist, dass Schritt 3 und 4 gleichzeitig ausgeführt werden.
    Asynchronous Javascript And Xml
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      Schau dir mal Promises/Deferreds an, damit lässt sich das sauber und elegant lösen. Pseudocode:
      PHP-Code:
      var promises = [];

      promises.push( $.post( ..));
      promises.push( $.post( ..));

      $.
      when.apply($, promises)
      .
      done(function() { 
        
      // callback für n ajax calls
      }) 
      Grüße
      I like cooking my family and my pets.
      Use commas. Don't be a psycho.
      [URL="http://jscouch.de"]Blog[/URL] - [URL="http://coverflowjs.github.io/coverflow/"]CoverflowJS[/URL]

      Kommentar

      Lädt...
      X