jQuery post problem

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.

    Comment


    • #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

      Comment


      • #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?

        Comment


        • #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

          Comment


          • #6
            Und wie soll man ohne Fehlermeldung helfen?

            Comment


            • #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]

              Comment


              • #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.

                Comment


                • #9
                  Originally posted by mermshaus View Post
                  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]

                  Comment


                  • #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

                    Comment


                    • #11
                      Originally posted by AmicaNoctis View Post
                      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.
                      Last edited by mermshaus; 24-06-2011, 14:13.

                      Comment


                      • #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]

                        Comment

                        Working...
                        X