2016-05-04 2 views
0

Ok, lassen Sie mich die Frage so erklärenWas ist das Limit der chrome-dev Quelldatei?

Ich habe den folgenden Code auf meinem Drupal-Modul (PHP)

switch (granularity) { 
    case 'day': 
     $fromdate = date('2016-02-01'); 
     $todate = date('2016-02-29'); //<-------------------- 
     $requesttype = "Hourly"; 
     break; 

$result = get_api_call($requesttype,$fromdate,$todate); 
dpm($result); 
$items['my_module_name']['#items']['data'] = $result; 

Und es JS zu passieren, habe ich einfach ein Echo ein lassen JS tun es Magie

var data = <?php print json_encode($variables['items']['data']); ?>; 

So ... auf diesem API-Aufruf i 1 Monat mal 24 Stunden pro Tag bin immer, mal zwei Daten auf jeder Stunde des Tages = (31 * 24 * 2 = 1488)

Wenn ich versuche, all das in das <scirpt> Tag in einem .tpl Echo zu schreiben Die js Datei lädt nicht auf die Quellen Registerkarte, daher kann ich nicht debuggen ... Die lustige Sache ist, dass, wenn ich die reduzieren API-Aufruf zu weniger Tage wie, wie 15 die Chrom-dev Werkzeug zeigen nicht/laden Sie die JS I debuggen können It works with 15 days

So ... Was ist los? Weil ich ginormous JS Dateien/librarys in chrome dev-tools gesehen habe

Vielleicht ein Objekt kaputt, vielleicht funktioniert json_encode nicht mit einem ginormous Array? Irgendwelche Hinweise?

PS: Selbst wenn es die JS-Datei nicht zeigt, läuft es noch und funktioniert.

Antwort

0

Ich habe mir den Quellcode für Chrome Dev Tools angeschaut und konnte im Fenster "Sources" keine Begrenzung für die Länge/Größe von Zeichen oder Zeichen finden. Daher würde ich sagen, dass es wahrscheinlich keine harte Grenze gibt.

Die Funktion json_encode ist ebenfalls unbegrenzt. Es ist nur durch die Menge an Speicher begrenzt, die Sie haben. Da Sie sagen, dass die JS-Datei korrekt ausgeführt wird, muss genügend Speicher auf dem Server vorhanden sein, um die Daten zu verschlüsseln.

In Ihren Screenshots werden einige Fehler angezeigt. Überprüfen Sie die Registerkarte "Konsole", da sie möglicherweise hell leuchtet. Ich vermute, dass Sie in Dev Tools auf ein Speicherproblem gestoßen sind.

Bei großen Datenmengen kann es sich lohnen, in AJAX nach weiteren Daten zu suchen, anstatt sie alle gleichzeitig an den Client zu senden.

+0

Nein, die Fehler auf der Konsole sind etwas anderes, und sie sind auch dort in der kleineren Anfrage, wo es den JS-Code zeigt. – Azteca

Verwandte Themen