jQuery post problem

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

  • jQuery post problem

    hi,
    hänge gerade an folgendem Problem:
    Arbeite mit dem Codeigniter Framework und will bei einem onComplete Event mit $.post() einen Controller aufrufen.

    das hier funktioniert:
    PHP-Code:
    $.post(url, {},
      function(
    info){ 
         
    alert(info); 
               $(
    "#fileinfotarget").append(info);
      }
    ); 
    d.h. mir wird alert wird ausgeführt und in das div fileinfotarget wird mir der rückgabe wert eingefügt.

    wenn ich aber in dem 2ten Parameter Werte übergeben will bricht das Script ohne fehlermeldung ab, auch wenn ich den ganzen Ausdruck in einen try - catch Block setze:
    PHP-Code:
    $.post(url, {name"John"time"2pm"},
      function(
    info){ 
         
    alert(info); 
               $(
    "#fileinfotarget").append(info);
      }
    ); 
    hat einer nen Tip woran das liegen könnte?
    "I don't want to belong to any club that would accept me as a member."

    Groucho Marx

  • #2
    In der Firebug-Erweiterung vom Firefox gibt es ein „Net“-Tab, auf dem die Daten von Requests dargestellt werden. Häufig findest du da in solchen Fällen als HTTP-Response was mit einer (PHP-)Fehlermeldung im Body.

    Kommentar


    • #3
      THX,
      wenn ich post mit parameter abschicke bekomme ich 500 Internal Server Error
      aber warum?
      sind ja nur testdaten (aus der jQuery Doku)


      an meinem Xampp kann es eigentlich nicht liegen - bei anderen Projekten funzt es problem los
      "I don't want to belong to any club that would accept me as a member."

      Groucho Marx

      Kommentar


      • #4
        Warum du einen 500er bekommt, kannst du nur am Server feststellen und hat nichts mit JavaScript zu tun. Schon mal in den Apache- und den PHP-Fehlerlog geschaut?

        Kommentar


        • #5
          in meinen XAMPP logs steht nix drin....
          "I don't want to belong to any club that would accept me as a member."

          Groucho Marx

          Kommentar


          • #6
            Und wie soll man ohne Fehlermeldung helfen?

            Kommentar


            • #7
              Hallo,

              nur mal ins Blaue geraten, weil ich kürzlich ein ähnliches Problem hatte:

              Verarbeitest du diese POST-Daten mit regulären Ausdrücken? Bei mir haben manche Subpatterns den Server gecrasht, ohne dass irgend etwas im Fehlerlog auftauchte.

              Gruß,

              Amica
              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
              Super, danke!
              [/COLOR]

              Kommentar


              • #8
                Wenn du weißt, wo der Request im PHP-Script ankommt (da gehe ich mal von aus), kannst du natürlich auch Debugging betreiben. Ganz banal etwa mit:

                PHP-Code:
                echo 'Diese Stelle wird erreicht.';
                exit; 
                Das dürfte zwar auf Clientseite eine Fehlermeldung oder sowas erzeugen, aber über Firebug kannst du dir den Response-Body angucken, der die echo-Ausgaben enthalten sollte.

                Kommentar


                • #9
                  Zitat von mermshaus Beitrag anzeigen
                  PHP-Code:
                  echo 'Diese Stelle wird erreicht.';
                  exit; 
                  Das wird zwar bei einem 500er nicht funktionieren, aber prinzipiell ist es der richtige Ansatz, nur musst du halt mit file_put_contents() oder frwite() die Nachrichten in ein Logfile schreiben, statt sie mit echo auszugeben.
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    THX alle,
                    der Fehler lag ganz woanders:

                    bei Codeigniter gibt es eine Cross Site Request Forgery,
                    auch wenn die ausgeschaltet ist
                    $config['csrf_protection'] = FALSE;
                    will er folgendes als parameter übergeben haben

                    { 'csrf_token_name': '<?php echo $this->security->csrf_hash; ?>'}

                    seufz .....

                    Aber THX für eure Hilfe...
                    "I don't want to belong to any club that would accept me as a member."

                    Groucho Marx

                    Kommentar


                    • #11
                      Zitat von AmicaNoctis Beitrag anzeigen
                      Das wird zwar bei einem 500er nicht funktionieren, […]
                      Ich hatte gedacht, da der URL grundsätzlich erreichbar ist (selber wie bei funktionierendem Request), ist's am ehesten ein durch PHP ausgelöster Fehler. Header-Weiterleitung oder so. (Edit: Ich bin nicht völlig sicher, ob das Sinn ergibt.) Na ja, auch egal. Passt ja jetzt.
                      Zuletzt geändert von mermshaus; 24.06.2011, 15:13.

                      Kommentar


                      • #12
                        Das ist ja fies. Die hätten das ruhig so schreiben können, dass man dann einen 403 Forbidden bekommt und keinen 500 Internal Server Error, bei dem man gewohnheitsmäßig einen halben Tag lang die Serverkonfiguration checkt.
                        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                        Super, danke!
                        [/COLOR]

                        Kommentar

                        Lädt...
                        X