Ich benutze AJAX, um ein PHP-Skript aufzurufen. Das einzige, was ich aus der Antwort analysieren muss, ist eine zufällige ID, die vom Skript generiert wird. Das Problem ist, dass das PHP-Skript eine Reihe von Fehlern verursacht. Die Fehler sind eigentlich in Ordnung und stören die Programmfunktionalität nicht. Das einzige Problem ist, dass wenn ich
ausführen %Vor%Ich bekomme:
%Vor%Da die PHP-Antwort mit einem Fehler beginnt:
%Vor%Ich frage mich, wie ich PHP oder JS so ändern kann, dass es trotz der Fehler die ID auslesen kann.
PHP:
%Vor%JS:
%Vor%Ich weiß, dass die Warnungen behoben werden sollten, aber die Warnungen sind nicht funktionskritisch für jetzt und noch wichtiger
1) Auch wenn diese Warnungen aufgelöst werden, können neue auftauchen und der JSON sollte immer noch richtig analysiert werden und
2) Zusätzlich zu den Warnungen gibt es "Hinweise", die das gleiche Problem verursachen.
Es gibt mehrere Möglichkeiten, wie das gelöst werden könnte (jeder von denen würde funktionieren):
1. Fixiere deine Warnungen. :
PHP sagt etwas aus einem bestimmten Grund.
2. Deaktivieren Sie Fehlermeldung & amp; Fehleranzeige :
Am oberen Rand der Datei platzieren Sie das folgende
3. Verwenden Sie den Ausgabepuffer :
Ganz oben in Ihrer Datei platzieren Sie
Wenn Sie Ihr Datenarray haben und bereit zum Echo im Browser sind, löschen Sie den Puffer aller Benachrichtigungen Warnungen usw.
%Vor%
4. Legen Sie einen benutzerdefinierten Fehlerhandler fest :
5. Optional in JavaScript:
Sanitise deine Antwort, um ein JSON-Array zu sein:
Wie alle anderen gesagt haben, sollten Sie Ihre Fehler wirklich beheben und sie entsprechend behandeln.
Dies ist etwas, das Sie unter Umständen haben, die Sie nicht kontrollieren und dennoch mit Fehlern umgehen wollen:
%Vor%Obwohl dies das umfassendere Problem der Warnungen nicht löst, habe ich diesen Hack verwendet, um die Antwort zu analysieren:
%Vor%Ich weiß, jeder hat Ihnen empfohlen, die Fehler zu beheben, ich würde zustimmen, aber wenn Sie nicht wollen, dann gibt es eine andere Lösung.
Wenn Sie eine Reihe von Warnungen erhalten und erwarten, dass neue Warnungen angezeigt werden, deaktivieren Sie einfach die Meldung von Warnungen und Hinweisen:
%Vor%Ich bin mir sicher, dass es in Ihrem PHP-Code einige Fehler geben würde, da dieser Fehler kommt. Bitte überprüfen Sie einige Dinge:
echo
oder print
in Ihrem PHP-Code für die Druckantwort vorhanden sein sollte. Ich sage das, weil ich Ihren Code ausprobiert habe und es funktioniert gut für mich, Sie können das auch überprüfen:
PHP-Datei: myContentPage.php
%Vor%HTML-Datei:
%Vor%Und zur Handhabung der Warnungen können Sie Folgendes tun:
Um Warnmeldungen zu überspringen, könnten Sie Folgendes verwenden:
error_reporting (E_ERROR | E_PARSE);
Glückliche Kodierung !!
Skript verwendet in Ajax Aufruf muss einfach perfekte Konstruktion haben, wird keine Warnungen nur aus Bequemlichkeit geworfen, für die Produktion sollten Sie erros deaktiviert haben, also beheben Sie es in Entwicklung, bearbeiten Sie die Frage mit der Warnung, dass phps givin wir Ihnen helfen mit direkt auf den Punkt.
1. Alternative:
Löse das Problem, das die Warnung verursacht hat. Ein gutes PHP-System sollte niemals einen PHP-Hinweis, eine Warnung oder einen Fehler anzeigen. Dies kann einige kritische Informationen offen legen.
2. Alternative:
Deaktivieren Sie einfach die Fehlermeldung, indem Sie
einstellen error_reporting(0);
Dies wird funktionieren, aber selbst Fehler werden Ihnen verborgen bleiben.
3. Alternative:
Legen Sie eine Fehlerbehandlungsfunktion fest, die den Fehler behandelt und eine JSON-freundliche Fehlermeldung anzeigt, die keine Probleme verursacht.
Ich empfehle Ihnen auch, diese Ausnahmen zu protokollieren. Es ermöglicht Ihnen, jedes Systemproblem zu debuggen.
Meine Empfehlung?
Benutze die erste und dritte Alternative zusammen und sei glücklich!
Sie können Try..Catch im JavaScript-Funktionscode verwenden, wie unten gezeigt.
%Vor%Dies funktioniert auch, wenn Ihr PHP-Code als Antwort Debug-Informationen generiert.
Wenn Sie den Fehler in JavaScript sehen möchten, sollten Sie den Fehler in PHP mit einem "try catch" und dem "catch" behandeln, um etwas wie "echo json_enconde ($ error);" Auf diese Weise können Sie von JavaScript analysieren.
Beispiel:
%Vor%Ich hoffe, das hilft:)!
Tags und Links javascript jquery php ajax