molily: Variablen mit Ajax nachladen

Beitrag lesen

Hallo,

Und zwar lade ich mit Ajax eine Datei nach, in der verschiedenartige
Arrays in JS definiert sind.

Wenn du einfach nur eine XMLHttpRequest-Anfrage sendest und der Server dies hier zurückgibt:

<SCRIPT type="text/javascript">
var tabList_xxx = new Array ('customer','general','material');
</SCRIPT>

... dann wird dieser Code noch längst nicht automatisch ausgeführt.

Wenn du JavaScript nachladen willst, dann hänge am besten ein neues script-Element in den Head des gegenwärtigen HTML-Dokuments ein.

Die dann vom Server ausgelieferte JavaScript-Datei sollte nur reinen JavaScript-Code, keinen HTML-Code wie <script>...</script> enthalten.

Bei PHP solltest du auch den passenden Content-Type-Header senden, sonst sendet PHP text/html, was unsinnig für JavaScript-Code ist:
header('Content-Type: application/x-javascript');

Im Hauptprogramm habe ich dann eine JS Funktion die ungefähr so aussieht.

function activateTabulator(tabulatorName)
{
eval('tabulatorList=tabList_' + tabulatorName);

eval ist hier unnötig und langsam, besser:
tabulatorList = window["tabList_" + tabulatorName];

Aber Voraussetzung ist natürlich, dass der nachgeladene Code auch ausgeführt wurde.

Mathias