Just nu i M3-nätverket
Gå till innehåll
jan-erik

ajax/prototype-anrop

Rekommendera Poster

Jag har följande funktion:

 

function boknytt(evid,hid,hnm,txt)
{
	var evid = evid;
	var hid=hid;
	var hnm=hnm;
	var txt=txt;

	var url = 'http://www.jea.se/a/boknytt.php'+'?rand='+new Date().getTime();
	var pars = 'evid=' + evid +'&hid=' + hid +'&hnm=' + hnm +'&txt=' +txt;
	var myAjax = new Ajax.Request(
		url, 
		{method: 'get',	parameters: pars 
		});
		alert('Bokning klar. Klicka på ok.');
var val=evid;var pgm='../a/bokning.php';ShowContent('txtHint'); showCustomer(val,pgm);		

		}

Den anropas så här:

 

 <input name="bokny" id="bokny" type="button"  value="boka "    onclick="
var evid=<? echo $evid;?>;
var hid=<? echo $huid1;?>;
var hnam=$F('hnmny1');
var txt=$F('txtny1');
boknytt(evid,hid,hnam,txt);" />	

 

Problemet består i att den ibland inte funkar med anropet, det verkar som om boknytt.php ibland inte exekveras. Och det verkar slå totalt blint, är inte knutet till viss användare, browser, etc. Kan det vara ett timeoutproblem?

I funktionen finns en alert ("Bokning klar..."). Denna har jag lagt in som en avlusning, och den dyker upp även i de fall som boknytt.php inte exekverats.

Skumt va?

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Hade inte tid just nu att sätta mig in i hela din funktion men en fråga jag har är varför du lagrar värdena först i variabler och sen skickar in variablerna som parametrar?

Du kan ju lika gärna skicka in php-värdet direkt.

 

Sen i din funktion lagrar du värdet(parametrarna) igen i nya variabler.

Du har ju redan lagrat dem i varsin variabel.

function boknytt(evid,hid,hnm,txt)

Dessa är ju redan variabler som innehåller ev information och som du kan använda direkt i funktionen, istället för att första lagra dem i nya variabler som du sen använder.

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Ja, det har du givetvis rätt i, Micke. Som vanligt.

Men eftersom problemet är av allra värsta sort -inkonsekvent- så tror jag inte att detta löser problemet, det funkar ju 9 ggr av 10. Men helt klart ska jag ta bort "var..".

jag har i mina forskningar funnit en gemensam faktor: Vista.

kan det vara så att Vista djävlas ?

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Micke (eller någon annan vänlig själ som inte tvunget måste vara från Skåne):

Jag har åtgärdat det du anmärkte på, men som väntat löste inte detta problemet. Jag undrar om du skulle vilja ta några minuter o gå igenom den funktion o det anrop jag bifogat.

Det handlar alltså om en funktion "boknytt" som avslutas med ett anrop av en annan funktion "bokning". Innan anropet av "bokning" har jag en alert, och därför vet jag att det kommer dit. Men, det verkar som om det anropade PHP-programmet "boknytt.php" inte exekveras, och det händer inget efter att alerten ok:ats.

Att jag vet att "boknytt.php" inte körs beror bl a på att det skulle ha synts i mysql.

Det som är skumt är att det funkar för nästan alla användare (cirka 50), men för några få funkar det inte. Alltså bör det inte kunna vara nåt fel i js.

Jag har börjat misstänka att det främst är vistaanvändare som fastnar. Kan det ligga nåt i detta?

Eller kan det vara nåt kapacitets/samordningsproblem?

Hur som helst, det är djäkligt frustrerande!

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...