Avatar billede nielspt Nybegynder
27. juni 2010 - 15:10 Der er 1 løsning

Problemer med "var parameterString = this.href.replace"

Hej eksperter

På min side har besøgende mulighed for at stemme (rating) på forskellige ting ved at vælge et antal stjerner.

Og i .htaccess har jeg ændret lidt, så mine URL'er ændres fra:

minside.dk/billede.php?id=123&titel=hej til minside.dk/billede/123/hej

Dette giver problemer, når folk skal stemme - nu vises der kun en load-indikator og der sker ikke andet.

Jeg tror problemet skyldes at en url benyttes til at hente noget asynkront når der stemmes, men at reglerne i .htaccess ødelægger denne url.

Jeg har gravet lidt og TROR problemet ligger i følgende js-kode (nærmere bestemt i variablen parameterString)


var ratingAction = {
        'a.rater' : function(element){
            element.onclick = function(){

            var parameterString = this.href.replace(/.*\?(.*)/, "$1"); // onclick="sndReq('j=1&q=2&t=127.0.0.1&c=5');
            var parameterTokens = parameterString.split("&"); // onclick="sndReq('j=1,q=2,t=127.0.0.1,c=5');
            var parameterList = new Array();

            for (j = 0; j < parameterTokens.length; j++) {
                var parameterName = parameterTokens[j].replace(/(.*)=.*/, "$1"); // j
                var parameterValue = parameterTokens[j].replace(/.*=(.*)/, "$1"); // 1
                parameterList[parameterName] = parameterValue;
            }
            var theratingID = parameterList['q'];
            var theVote = parameterList['j'];
            var theuserIP = parameterList['t'];
            var theunits = parameterList['c'];
           
            //for testing    alert('sndReq('+theVote+','+theratingID+','+theuserIP+','+theunits+')'); return false;
            sndReq(theVote,theratingID,theuserIP,theunits); return false;       
            }
        }
       
    };
Behaviour.register(ratingAction);


Nogen der kan gennemskue, hvad der går galt?

Tak.
Avatar billede nielspt Nybegynder
27. juni 2010 - 15:46 #1
Løsningen var lettere end som så.

Skulle simpelthen bare tilføje / foran en url lidt længere oppe i koden.

Jeg lukker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester