Beim Anzeigen der Seitenquelle in Google Chrome öffnet der Browser einen neuen Tab und fügt die URL im Wesentlichen mit dem view-source:
Präfix ein. Das ist unerwünscht.
Als Entwickler kann ich einige Diagnoseausgaben einfügen, die nur in der Quelle nach dem Absenden eines Formulars sichtbar sind. Wenn Chrome die Seite aktualisiert, um die Quelle anzuzeigen, werden diese Informationen ausgeblendet.
Gibt es sowieso, um dieses Verhalten zu verhindern?
Hinweis: Ich bin mit der Option "Inspect Element" vertraut. Dies ist jedoch kein ausreichender Ersatz für die Anzeige der Rohseitenquelle der genauen Seite, die Sie gerade anzeigen.
Ein schnelles Testskript
<pre>
<?= print_r($_POST, true) ?>
</pre>
<form action="" method="post">
<input id="foo" name="foo" value="bar" />
<input type="submit" />
</form>
Nachdem Sie auf die Schaltfläche "Senden" geklickt haben, wird die Seite angezeigt
Array
(
[foo] => bar
)
Wenn Sie die Seitenquelle anzeigen, wird eine leere $_POST
Ausgabe angezeigt
<pre>
Array
(
)
</pre>
<form action="" method="post">
<input id="foo" name="foo" value="bar" />
<input type="submit" />
</form>
Aktualisieren
Anscheinend wurde dieser Fehler bereits gemeldet. Seufzer...
Wenn jemand von einer guten Arbeit weiß, würde ich es sehr schätzen.
Antworten:
Auf der Seite mit dem Fehlerbericht funktioniert die in Kommentar 12 erwähnte Problemumgehung : Aktivieren Sie in den Entwicklertools die Ressourcenverfolgung. (Wenn diese Option deaktiviert ist, wird die Anforderung, die die aktuell sichtbare Seite generiert hat, entweder POST oder GET, erneut gesendet.) In der Liste der Ressourcen können Sie auf die Hauptseite klicken, um den Quellcode zu sehen, wie er vom Server zurückgegeben wurde für POST- und GET-Anforderungen.
Mehr Informationen
Ich habe einige Tests mit einer einfachen PHP-Datei durchgeführt, die die verwendete Anforderungsmethode und einen POST-Wert, ein Proxy-Server-Protokoll, um zu sehen, welche Anforderungen Chrome machte, und das
chrome://net-internals/view-cache/
Präfix, um zu sehen, was Chrome zwischengespeichert hat, zeigte.Wenn Sie den Befehl "Quelltext anzeigen" verwenden , zeigt Chrome den Quelltext der zwischengespeicherten Version der Seite an und speichert nur die über die GET-Methode angeforderten Seiten zwischen.
Wenn Sie eine Seite aufrufen, die Sie zuvor mit GET und POST angefordert haben, wird nur die GET-Version zwischengespeichert. Wenn Sie den Befehl "Quelltext anzeigen" verwenden, wird die Seite nicht erneut angefordert, sondern die zwischengespeicherte GET-Version angezeigt, nicht die derzeit sichtbare POST-Version, falls vorhanden.
Wenn Sie eine Seite anzeigen, die Sie nur mit der POST-Methode angefordert haben, durchsucht Chrome mit dem Befehl „Quelltext anzeigen“ den Cache, sucht nach nichts, fordert die Seite mit GET an, speichert sie im Cache und zeigt den Quelltext an davon.
quelle
use "Inspect Element"
Gute Frage - und etwas enttäuschend, all die Kommentare zu lesen, "das ist falsch" oder "das wird nicht funktionieren". Dieses Verhalten macht die Funktion "Seitenquelle anzeigen" in vielen Fällen für die Entwicklung unbrauchbar.
Es gibt eine Erweiterung namens " Quick Source Viewer ", die die Quelle der aktuell geladenen Seite anzeigt (ich habe sie jedoch nicht mit POST-Anfragen getestet).
quelle
Es tut mir leid, es Ihnen zu sagen, aber dies widerspricht der aktuellen Art des Browsens und Debuggens in einem Browser ...
Die ursprüngliche Quelle wird nicht gespeichert, sondern so schnell wie möglich analysiert und in einen Analysebaum umgewandelt, um unnötige Speichernutzung zu vermeiden. Daher gehen alle Debugging-Informationen, die Sie in der Quelle verbergen, verloren und müssen explizit angefordert werden. Auf den sogenannten Web 2.0-Sites ändern sich auch die Elemente, und aus diesem Grund ist die Überprüfung so ...
Lösung 1: Mit Fiddler Web Debugger können Sie den HTTP-Datenverkehr überprüfen und
die Debug-Informationen Ihrer letzten Anforderung anzeigen.
Lösung 2: Betten Sie Ihre Debugging-Informationen ein oder hängen Sie sie am Ende an,
oder zeigen Sie sie möglicherweise als Popup oder auf eine andere tolle Weise an, die Ihr Layout nicht stört.
quelle