Kann JavaScript String 100K Zeichen speichern? Ich habe ein Skript geschrieben, in dem eine Zeichenfolge aus PHP an eine Variable in JavaScript übergeben wird. Es funktioniert einwandfrei, wenn es auf fast zehntausend Zeichen gekürzt wird, bricht jedoch das Skript, wenn versucht wird, die gesamte Zeichenfolge zu übergeben, deren Länge etwas größer als 100 KB ist. Es konnten jedoch keine Fehler gefunden werden. Gibt es eine Lösung dafür, wie die Zeichengrenze der JavaScript-Variablen erhöht werden kann? Ich bin nur ein Anfänger. Würde mich freuen, jemand könnte eine Lösung dafür finden.Zeichenlimit einer JavaScript-String-Variablen
Antwort
Es gibt keine theoretische Beschränkung für JS oder PHP auf die Größe ihrer Strings.
Ich denke, es gibt ein paar mögliche Situationen.
Überprüfen Sie zuerst, dass Sie Ihre Zeichenfolge nicht über HTTP GET senden. Es gibt eine maximale Größe für GET und ich denke, es hängt von Ihrem Webserver ab. Zweitens, wenn Sie POST verwenden, überprüfen Sie in der php.ini nach post_max_size und sehen Sie, ob es kleiner ist als die String-Größe, die Sie senden, sowie Ihre .htaccess-Datei zu sehen, ob php_value post_max_size nicht zu klein ist .
Drittens prüfen, ob in der php.ini, die Ihre memory_limit nicht die Größe des Speichers nicht einschränkt, die das Skript verwenden kann.
hoffe das hilft.
Vielen Dank für Ihre Antwort. Ich habe das Javascript in der gleichen PHP-Seite geschrieben und ich ordne die PHP-Variable einer Javascript-Variable auf der gleichen Seite zu. Wenn ich die Variable stimme, kann ich die Ausgabe sehen, aber sobald sie js zugewiesen wurde, wird nichts darunter ausgeführt. – Rohith
nur ein Schuss, aber haben Sie irgendwelche einfachen Anführungszeichen oder doppelte Anführungszeichen neu generiert, die Ihre js brechen können. bist du ihnen entkommen, bevor du zu js gegangen bist? Gibt es einen Fehler in der JavaScript-Konsole? –
Es gibt keinen Fehler in JavaScript-Konsole. Es werden auch keine einfachen und doppelten Anführungszeichen neu generiert. – Rohith
Der ECMAScript-Standard ECMA-262 (6. Ausgabe Juni 2015) sagt
6.1.4 Der String Typ
Der String-Typ ist die Menge aller geordneten Sequenzen von null oder mehr 16-Bit ohne Vorzeichen ist ganzzahlige Werte ("Elemente") bis zu einer maximalen Länge von 2 -1 Elemente.
Also nicht mit mehr als 9.007.199.254.740.991 oder etwa 9 Billiarden Zeichen. Natürlich sollten Sie auf Systeme vorbereitet sein, die nicht 18 PB Speicherbausteine zuordnen können, da dies für konforme ECMAScript-Implementierungen nicht erforderlich ist.
- 1. VBA InputBox-Zeichenlimit überwinden
- 2. Hat eine .xml-Datei ein Zeichenlimit?
- 3. Einen Textblock auf das nächste Wort zuschneiden, wenn ein bestimmtes Zeichenlimit erreicht ist?
- 4. Gibt es in JDK eine gute Ausnahmeklasse für den Fall, dass Benutzereingaben zu lang sind?
- 5. Ändern Sie die Spaltenlänge im Schema-Builder?
- 6. einer Sequenztyp einer SOAP-Antwort
- 7. Erstellen einer Kopie einer Ansicht?
- 8. Überladen einer Methode einer Superklasse
- 9. Hervorhebung einer Spaltenüberschrift einer JTable
- 10. Hinzufügen einer Textansicht zu einer FrameLayout in einer bestimmten Position
- 11. Erstellen einer Instanz einer Klasse aus einer Zeichenfolge
- 12. Neustart einer Aktivität auf einer einzelnen Registerkarte in einer TabActivity?
- 13. Kürzung einer Länge einer PHP-Zeichenfolge und Einfügen einer Ellipse
- 14. Beenden einer Iteration einer Schleife aus einer Subroutine
- 15. C++ Hinzufügen einer Zahl in einer Spalte aus einer Eingabedatei
- 16. Java-Aufruf einer Funktion in einer Klasse von einer anderen
- 17. Verwenden einer AppDomain zum Instanziieren einer Klasse in einer DLL
- 18. Aufrufen einer privaten Eigenschaft einer Python-Instanz mit einer Zeichenfolge
- 19. Zuweisen einer Auswahl zu einer Variablen in einer gespeicherten Prozedur
- 20. Erstellen einer Tabelle aus einer Textdatei und Hinzufügen einer Spalte
- 21. Aufruf einer Zeigermethode auf einer Struktur in einer Karte
- 22. Aufruf einer Funktion in einer JAR-Datei aus einer Skriptdatei
- 23. Senden einer Variablen von einer Seite zu einer anderen
- 24. Behandeln einer Anforderung mit einer bestimmten Funktion in einer Komponente
- 25. Erstellen einer Sicht mit einer MKMapView und einer touchbaren Untersicht
- 26. Erstellen einer neuen Instanz einer Unterklasse innerhalb einer Basisklasse
- 27. Aufruf einer Methode auf einer Karte von einer anderen Methode
- 28. Hinzufügen einer Schaltfläche zum Entfernen einer Spalte in einer Tabelle
- 29. Hinzufügen einer Spalte einer Datentabelle zu einer anderen
- 30. Übertragen einer Zeichenfolge von einer vb.net-Anwendung zu einer anderen?
Was meinen Sie "bricht das Skript"? – Xymostech
Siehe http://stackoverflow.com/questions/5926263/javascript-object-max-size-limit für einige relevante Informationen. Ich schätze, das Limit liegt in PHP, nicht in JS. – jfriend00
Öffnen Sie die JS-Konsole und versuchen Sie es selbst. 'str =" "; für (var i = 0; i <100000; i ++) {str = str + "x"; } 'dann tippe" str "und drücke Enter. Schau was passiert. –