zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden Viele Ajax request - async:false - mit timeout realisieren

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 10.06.2013, 17:21
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 10.06.2013
Ort: Lienen
Beiträge: 4
It Format befindet sich auf einem aufstrebenden Ast
Idee Viele Ajax request - async:false - mit timeout realisieren

Hallo an alle,

Ich habe ein Problem mit sync ajax aufrufen die, bei Bedarf, mit einem Timeout beendet werden müssen.
Das Script das ich da geschrieben habe funktioniert soweit gut und das timeout fasst auch sobald ich async auf true setze. Da der Server den ich abfrage aber nur eine Abfrage gleichzeitig annehmen kann bin ich auf async: false angewiesen.

Gibt es einen work around der es mir erlaubt das auch mit false zu benutzen?

Aufgabenstelleung ist folgende:
In einem XML File sind zwischen 10 und 2000 Artikelanfragen. nachdem das XML File hochgeladen wurde und die Artikel herausgefiltert sind wird eine Tabelle mit allen Artikeln angezeigt.
Nun gibt es verschiedene Warenwirtschaften wo ich diese Artikel jetzt anfragen muss, daher gib es nun z.B 3 spalten mit Warenwirtschaft1 - 3.

Wenn ich nun bei Warenwirtschaft1 auf start drücke, soll er ein php file auf dem selben server aufrufen welches den Artikelchck vornimmt. Der Rückgabewert wird ausgewertet und entsprechend entweder ein grüner oder roter Punkt, oder wenn die Abfrage in ein timeout kommt ein Fragezeichen.

Da die Warenwirtschaft die ich anfragen muss in Amerika ist und der Server nur max 1 anfrage zur gleichen Zeit annimmt, muss ich schon mal sync abfragen. Da aber auch von Zeit zu Zeit ein timeout kommt, hängt sich das script leider immer auf.

Vielleicht gibt es ja wen hier der mir da ein wenig auf die Sprünge helfen könnte. Ich habe so ziemlich alles was ich mir vorstellen konnte schon in Google eingetippt.

Wie schon gesagt das script läuft gut und geht jeweils einen Eintrag nach dem anderen durch, leider funktioniert das timeout bei sync abfrage nicht!

zu guterletzt noch einmal das Script in der bisherigen Form:
hier das Beispiel für die amerikanische Version:

Code:
$(function() {
	$("#check_nsusa").bind("click", function() {
		$("#check_nsusa").attr('src', './images/status.gif');
		var fetching = $.when();
		$("img.check_nsusa").each(function (i) {
			var val = $(this).attr('id');
			var valu = $(this).attr('ids');
			var responseData;
		    fetching = fetching.pipe(function (jqXHR, exception, message) {
				$.ajax({
					url: './check_ns_usa.php?search=' + valu,
				    timeout: 15000,
				    async: false,
				    beforeSend: function(){
				    	$('#'+val).attr('src', './images/status2.gif');
				    },
				    success: function(json){
						if(json == "9") {
							$('#'+val).attr('src', './images/status_bad.png');
						} 
						else if(json == "2") {
							$('#'+val).attr('src', './images/status_verygood.png');
						} 
						else if(json == "1") {
							$('#'+val).attr('src', './images/status_good.png');
						} 
						else {
							$('#'+val).attr('src', './images/status_unknown.png');
						}
				    	responseData = json;
				    },
			        error: function(jqXHR, exception, message) {
			        },
				    complete: function(jqXHR, exception, message) {
				    	if (exception == 'error')  {
				        	$('#'+val).attr('src', './images/status_unknown.png');
				    	}
					}
				})
				.done(function ( data ) {
					
				});
		    });
		});
		fetching.done(function (jqXHR, exception, message) {
			$("#check_nsusa").attr('src', './images/tick.png');
		});
	});
});

Geändert von It Format (11.06.2013 um 12:20 Uhr)
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 10.06.2013, 17:37
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 10.06.2013
Ort: Lienen
Beiträge: 4
It Format befindet sich auf einem aufstrebenden Ast
Standard

Hallo an die Admins...

Habe dieses Thema versehentlich unter CSS gepostet.
Bitte einmal verschieben zu Javascript & Ajax

Danke für die Mühe!!

Andre
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 11.06.2013, 16:33
Benutzer
neuer user
 
Registriert seit: 06.03.2010
Beiträge: 34
qwert befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von It Format Beitrag anzeigen
Da der Server den ich abfrage aber nur eine Abfrage gleichzeitig annehmen kann bin ich auf async: false angewiesen.
Synchrone Ajaxaufrufe sich sch.
Du kannst doch aber auch asynchrone nacheinander starten. Was spricht dagegen?
Mit Zitat antworten
  #4 (permalink)  
Alt 11.06.2013, 16:36
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Crosspost Viele Ajax request - async:false - mit timeout realisieren
Mit Zitat antworten
  #5 (permalink)  
Alt 11.06.2013, 17:56
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 10.06.2013
Ort: Lienen
Beiträge: 4
It Format befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von qwert Beitrag anzeigen
Synchrone Ajaxaufrufe sich sch.
Du kannst doch aber auch asynchrone nacheinander starten. Was spricht dagegen?
mein Kenntnissstand in ajax...

Bin eingefleischter PHP Programmierer
Mit Zitat antworten
  #6 (permalink)  
Alt 12.06.2013, 15:56
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 10.06.2013
Ort: Lienen
Beiträge: 4
It Format befindet sich auf einem aufstrebenden Ast
Standard

Hi Leute...

für den Fall das noch jemand eine Lösung dazu sucht...

Hier wurde reichlich darüber diskutiert und gelöst!

Viele Ajax request - async:false - mit timeout realisieren
Mit Zitat antworten
Antwort

Stichwörter
ajax, async:false, timeout, viele request

Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ajax Request erst nach 500ms Pause bei Eingabe OscarWilde1024 Javascript & Ajax 1 10.02.2012 10:07
ConfirmBox mit Ajax Benutzername Javascript & Ajax 0 05.08.2010 14:16
PHP Timeout mit Ajax umgehen?! crossgolfer85 Javascript & Ajax 4 09.12.2009 20:19
Ajax Request Handler insanic! Javascript & Ajax 9 18.08.2006 11:42
Buchrezension: AJAX - Frische Ansätze für das Webdesign Flocke Ressourcen 2 01.11.2005 23:08


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:59 Uhr.