Avatar billede michael_stim Ekspert
10. februar 2011 - 18:01 Der er 4 kommentarer og
1 løsning

Fejl i javascript på wordpress->e commerce

Hej,

Har en webshop i wordpress->wp-e-commerce og den driller lidt. Ajax bliver ved med at loade når man submitter en vare, varen kommer i kurven, men først når man opdaterer siden. Ligeledes når man skal tømme kurven. OBS. Det sker kun i IE.

Er kommet frem til at det formodentlig har noget at gøre med stien.

jQuery.post( 'index.php?ajax=true', form_values, function(returned_data) {
eval(returned_data);

Har prøvet en del løsninger, men ingen holder.

I kan se/prøve det på www.destogroup.com

Vil i have mere kode siger i bare til:

jQuery("form.product_form").submit(function() {
    // we cannot submit a file through AJAX, so this needs to return true to submit the form normally if a file formfield is present
    file_upload_elements = jQuery.makeArray(jQuery('input[type=file]', jQuery(this)));
    //window.location="http://www.destogroup.com/products-page/checkout/"
        if(file_upload_elements.length > 0) {
            return true;
        } else {
            jQuery("#dragdrop_spinner").css('display', 'block');
            form_values = jQuery(this).serialize();
            // Sometimes jQuery returns an object instead of null, using length tells us how many elements are in the object, which is more reliable than comparing the object to null
            if(jQuery('#fancy_notification').length == 0) {
                jQuery('div.wpsc_loading_animation',this).css('visibility', 'visible');
            }
            jQuery.post( 'index.php?ajax=true', form_values, function(returned_data) {
                eval(returned_data);
                //eval(assignVars);
                jQuery('div.wpsc_loading_animation').css('visibility', 'hidden');
               
                if(jQuery('#fancy_notification') != null) {
                    jQuery('#loading_animation').css("display", 'none');
                    //jQuery('#fancy_notificationimage').css("display", 'none');
                }
                jQuery("#dragdrop_spinner").css('display', 'none');
            });
            wpsc_fancy_notification(this);
            return false;
        }
    });
Avatar billede michael_stim Ekspert
10. februar 2011 - 18:43 #1
Har lavet et workaround, med at man bliver redirected til check ud siden, men ikke optimalt, er stadig åben for forslag ;o)
Avatar billede tjens Nybegynder
10. februar 2011 - 23:30 #2
Det skyldes at svaret fra ajax-kaldet indeholder en udkommenteret fejlmelding, som så bliver sendt igennem eval(returned_data).
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->

Jeg har skrevet en lille test af dette, og den giver fejl i MSIE, og ikke i Firefox, Chrome og Opera.
Avatar billede michael_stim Ekspert
11. februar 2011 - 10:34 #3
#2
Hvordan kom du frem til det? Et eller andet debugningsværktøj
Avatar billede michael_stim Ekspert
11. februar 2011 - 10:44 #4
Tak for hjælpen forresten ;o)

Løsningen blev at jeg fjernede resterne af wp super cache, som jeg havde deaktiveret og fjernet, men der var åbenbart lidt filer og rester af kode, der ikke blev fjernet.
Avatar billede tjens Nybegynder
11. februar 2011 - 15:57 #5
#3:  UR SERVERS BELONGS TO UZ
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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