WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   uppdatera JS variabel med AJAX? (https://www.wn.se/forum/showthread.php?t=16456)

zilveer 2006-09-26 03:35

hejsan,
jag har en JS variabel som jag väldigt gärna skulle vilja uppdatera med AJAX.
dock fungerar det inte, JS variabeln blir helt tom istället för att få texten jag tilldelar i variabeln.

jag uppskattar all slags hjälp och vägledning.

min ajax.js-fil
Kod:

//ALL webbrowsers is supported
function createRequestObject() {
 * *var ro;
 * *var browser = navigator.appName;
 * *if(browser == "Microsoft Internet Explorer"){
 * * * *ro = new ActiveXObject("Microsoft.XMLHTTP");
 * *}else{
 * * * *ro = new XMLHttpRequest();
 * *}
 * *return ro;
}


var http = createRequestObject();

//sending information
function sendRequest(action) {
 * *http.open('get', 'rpc.php?action='+action);
 * *http.onreadystatechange = handleResponse;
 * *http.send(null);
}

//get information
function handleResponse() {
 * *if(http.readyState == 4){
 * * * *var response = http.responseText;
 * * * *var update = new Array();

 * *
 * * * *scObj1.block[1]= response;

 * *}
}

min rpc.php-fil:
Kod:

<?php

if(isset($_REQUEST['action']))
{
        $randomNr = rand(0, 50);
        //check what is sent
 * switch($_REQUEST['action'])
 * {
 * *
 * * case 'foo':
 * * * // do something
 * * * echo "<script>scObj1.block[0]= \"here it comes $randomNr\"</script>";
 * * *
 * * * break;

}
?>

min test.html-fil:
Kod:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Isa - Ajax example</title>

<script language=JavaScript src="ajax.js" type=text/javascript></SCRIPT>
<script src="scroller.js.php" type=text/javascript></SCRIPT>
</head>

<body onLoad="scObj1.scroll();">
       
        <a href="javascript:sendRequest('foo')">[foo]</a>
       
 * <div id="foo">
 * *as
 *</div>

 *
 *live:
        <DIV id="sMain" ></DIV>
        </DIV>
</body>
</html>

jag har även filen scroller.js.php som gör så att texten skrivs ut snyggt.

hnn 2006-09-26 08:21

För att påpeka en helt annan sak: XHTML tillåter inte stora bokstäver i HTML taggarna.. ;)

Och att uppdatera en JS variabel i AJAX är inte svårt.
Gör den global (definera den utanför en funktion, och sen tilldela den inuti funktionen...

typ:
Kod:

<script type="text/javascript">
var Global = null; // Skapar en tom variabel

function test()
{
  Global = 'hej'; // Tilldelar variabeln Global värdet hej
}

alert(Global); // Visar en tom dialog ruta

test(); // Tilldelar variabeln hej

alert(Global); // Visar hej i dialogrutan
</script>


zilveer 2006-09-26 12:56

Hejsan jag förstår hur du menar,
men jag får verkligen inte till det.
Det står att variabeln "scObj1" är odefinierad.

Det enda jag försöker göra är att uppdatera innehållet i en array, men det funkar inte.
Klicka på länken så förstår du vad jag försöker uppdatera. Det är nämligen innehållet i denna array som jag försöker uppdatera utan resultat.
http://www.greywyvern.com/javascript

Jag är väldigt tacksam om ni kan vägleda mig med detta.

zilveer 2006-09-26 14:01

2 bifogad(e) fil(er)
jag slumpar ett tal mha PHP och det funkar bra.
jag lyckas ändra informationen i arrayen via ajax.js genom :

Kod:

scObj1.block[1]= response;
dock skulle jag vilja ändra informationen i arrayen via rpc.js.php då det blir enklare att uppdatera.

följande finns i rpc.php:
Kod:

echo "scObj1.block[0]= 'here it comes $randomNr'";
nu ändras inte arrayen i JS-varaiabeln utan texten "scObj1.block[0]= 'here it comes $randomNr'" tilldelas till array 1 via ajax.js-filen.

jag bifogar med det jag lyckats göra så kanske du kan hjälpa mig, vore toppen isåfall?

/tack för vägledning

grazzy 2006-09-26 14:23

Hej, jag bifogar min paypal, den heter grazzy at mjoelkbar dot net, du kanske kan hjälpa mig, vore toppen isåfall. Jag har lyckats komma fram till att 700+moms / h är lagom. Jag kan såklart inte tala för hnn.

/tack för alla pengar.

hnn 2006-09-26 14:35

Citat:

Originally posted by grazzy@Sep 26 2006, 14:23
Hej, jag bifogar min paypal, den heter grazzy at mjoelkbar dot net, du kanske kan hjälpa mig, vore toppen isåfall. Jag har lyckats komma fram till att 700+moms / h är lagom. Jag kan såklart inte tala för hnn.
/tack för alla pengar.

Givetvis kodar jag inte gratis heller....
Min paypal är: henrik at exice dot se...

tartareandesire 2006-09-26 17:40

Ett överpris som heter duga =)

grazzy 2006-09-26 19:07

I öknen kan man sälja vatten för 700:- litern också. Det gäller att ta med sig eget vett^H^H^Hatten.

zilveer 2006-09-27 16:17

Sådär jag har nu fixat uppgiften genom att uppdatera JS variabeln i ajax.js filen;)


Alla tider är GMT +2. Klockan är nu 02:59.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson