HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ? |
 |

08-09-2007, 14:05
|
Stonebreaker62
Member
|
|
Registriert seit: Apr 2005
Beiträge: 161
|
|
parallele Scriptausführung
Hallo ,
ich lade eine Datei hoch und starte per Ajax einen Import in eine MySQL DB.
Zu meiner Überraschung kann ich den Dialog nicht weiterführen, d. h. mein Script wartet offensichtlich auf das Ende des Imports .
Welche Ursachen könnte das haben?
In den Methoden des Importscripts nutze ich ein persistente DB Verbindungen, die vor dem Return aber immer per $dbh=null gelöscht werden.
|

08-09-2007, 14:13
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
Zitat:
Welche Ursachen könnte das haben?
|
Zitat:
... d. h. mein Script wartet offensichtlich auf das Ende des Imports .
|
du hast doch die antwort.
|

08-09-2007, 14:14
|
ArSeN
Registrierter Benutzer
|
|
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
|
|
OffTopic: In den Methoden des Importscripts nutze ich ein persistente DB Verbindungen, die vor dem Return aber immer per $dbh=null gelöscht werden.
Wozu machst du sie denn dann persistent?
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
|

08-09-2007, 14:15
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
Mal wieder schwer zu erraten, was du wirklich machst,
aber vermutlich sieht es so aus.
du sendest eine Datei via POST an ein PHP-Script, NACHDEM dieses Script ausgeführt wird, wir clientseitig (via JS http-request) das Import-script auf dem server gestartet.
Welches aber nun ist dein script, welches bis zu beendigung des imports wartet? dein JS? Warum postest du dann im PHP-Forum?
Also bitte nochmal ne konkrete frage mit vernünftigen Informationen stellen. Ins blaue raten will hier niemand!
|

08-09-2007, 14:27
|
Stonebreaker62
Member
|
|
Registriert seit: Apr 2005
Beiträge: 161
|
|
Sorry, wenn ich das nicht ausreichend beschrieben habe. Also etwas ausführlicher:
Ich lade eine CSV-Datei mit einem Sript hoch und validiere den Inhalt. Wenn OK fordere ich den Benutzer auf, durch Click ein Import-Script zu starten. Ich starte das Import-Script per http-request, weil es ein Langläufer ist und der Bildschirm nicht blockiert sein soll, solange der Import läuft. Das Import-Script startet auch wie beabsichtigt.
Leider kann ich aber den Dialog mit anderen Scripts nicht weiterführen, weil der Bildschirm blockiert ist.
|

08-09-2007, 14:33
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
also wartest du in deinem ajax teil auf die antwort des servers? tu es nicht und du kannst weiterarbeiten.
|

08-09-2007, 15:32
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
Also *move* ins JS-Forum. Ist doch immer wieder schön, wenn man weiß´, was man da programmiert.
|

08-09-2007, 19:16
|
Stonebreaker62
Member
|
|
Registriert seit: Apr 2005
Beiträge: 161
|
|
Verstehe nicht, wo mein JS-Script wartet, habe mich aber offen gesagt mit JS nie richtig beschäftigt und habe einfach ein Beispiel aus einem Tutorial kopiert.
Habe den http-Request hier mal gelistet. Bin gespannt, ob die Ursache im JS liegt.
- <script type="text/javascript">
<!--
var request = false;
function setRequest(url) {
if (window.XMLHttpRequest) {
request = new XMLHttpRequest(); // Mozilla, Safari, Opera
} else if (window.ActiveXObject) {
try {
request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
} catch (e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
} catch (e) {}
}
}
if (!request) {
alert("Kann keine XMLHTTP-Instanz erzeugen");
return false;
} else {
request.open('post', url, true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.send();
}
}
//-->
</script>
|

08-09-2007, 19:30
|
ArSeN
Registrierter Benutzer
|
|
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
|
|
Ahja, mal wieder die Arbeit an Andere abgeben oder was?
Hast du überhaupt schon irgendwelche debuggingversuche unternommen? Scheint mir nicht so!
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
|

09-09-2007, 19:35
|
Stonebreaker62
Member
|
|
Registriert seit: Apr 2005
Beiträge: 161
|
|
Was gibt es denn zu debuggen, wenn ein Script überhaupt nicht anläuft?
Soviel verstehe ich von JS auch, dass ich erkenne, was die 3-4 Statements machen, die ich kodiert habe.
Ich denke es gibt neben JS zwei weitere Ursachen für das Problem:
1. Meine persistenten DB-Verbindungen im Import-Script
2. Ich starte in Import-Script eine Session wie ich es auch in dem Script tue, das den Dialog weiterführen soll.
Ich tippe mal eher darauf, dass es nicht erlaubt ist, mit 2 Scripts auf dieselben Session-Variablen zuzugreifen.
Bevor ich aber nun damit beginne alles umzukodieren, wäre ich für einen Tip dankbar, ob ich mit meiner Vermutung richtig liege.
|

09-09-2007, 19:40
|
ghostgambler
Master 
|
|
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
|
|
Zitat:
Original geschrieben von Stonebreaker62
2. Ich starte in Import-Script eine Session wie ich es auch in dem Script tue, das den Dialog weiterführen soll.
|
Bei file-bases session-save-handler ist das natürlich dumm...
|

09-09-2007, 20:07
|
Stonebreaker62
Member
|
|
Registriert seit: Apr 2005
Beiträge: 161
|
|
Muss zugeben, dass das nicht besonders schlau war. Habe es mir zu einfach gemacht, ein Script kopiert und nicht daran gedacht, die Session-Variablen auszutauschen.
Das war mein erster Ajax-Versuch - da zahlt man eben Lehrgeld.
Habe alle Session-Variablen ersetzt und alles läuft wie gewünscht.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|