Avatar billede Morten Professor
08. juni 2020 - 20:53 Der er 10 kommentarer

Ajax laver dobbelt response

Hej Eksperter

Har et problem med mit script.
Når jeg laver en response på mit kode fordobler den response på chrome console og så virker tingene ikke mere.
Da den henter det to gang, det er ikke noget man kan se på content, men kun bag.

Så feks. i console er der en fejl, men når jeg så køre min script viser den så 2 fejl. som om den fordobler op. og ikke bare erstatter det nye.
Og den viser ikke fejl i mit script.
Håber det giver mening.

(function($) {
                $(document).on('click', '#submit_flue_trin_data<?php echo $data->post_id; ?>', function (e) {
                    e.preventDefault();
                    // We'll pass this variable to the PHP function example_ajax_request
                    var main_post_id            = $('#main_post_id<?php echo $data->post_id; ?>').val();
                   
                    // This does the ajax request
                    $.ajax({
                        url: fluer_trin_for_trin_ajax_obj.ajaxurl,
                        data: {
                            'action': 'insert_flue_trin_data_ajax',
                            'nonce' : fluer_trin_for_trin_ajax_obj.nonce,
                            'main_post_id' : main_post_id,
                        },
                        beforeSend: function(data) {
                            $('body').fadeTo( "slow" , 0.5);
                        },
                        success:function(data) {
                            // This outputs the result of the ajax request
                         
                            $('.ajax_output<?php echo $data->post_id; ?>').html(data);
                           
                           
                        },
                        complete:function(data){
                            $('body').fadeTo( "fast" , 1);

                        },
                        error: function(errorThrown){
                            console.log(errorThrown);
                        }
                    });

                });

            })(jQuery);

Med venlig hilsen
Morten
Avatar billede jakobdo Ekspert
08. juni 2020 - 21:06 #1
Kan det skyldes du får kaldt din javascript kode 2 gange?
Altså så du ender med dobbelt event på din post-knap?
Avatar billede Morten Professor
09. juni 2020 - 05:58 #2
Hej
Det vil jeg lige undersøge.
Avatar billede Morten Professor
09. juni 2020 - 07:47 #3
Det er som om der ligger sig oven på altså kaldet bliver lagt oven på det der er synligt
Avatar billede erikjacobsen Ekspert
09. juni 2020 - 08:02 #4
Hver gang du sige ".on" lægger du en ny eventhandler ovenpå eventuelle tidligere. Det er ikke altid hvad man vil.  Et trick er at fjerne de gamle med ".off"

$(document).off().on('click',  .......  )

Bedre selvfølgelig at finde ud af hvorfor man kommer til at gøre det to gange, men et hack er et hack ;)
Avatar billede Morten Professor
09. juni 2020 - 09:08 #5
prøvede lige Erik
Men det var ikke det desværre.
Når man refresher browseren virker alt ting som det skal.
Men det går bare ikke når man måske er langt nede på siden.
Avatar billede jakobdo Ekspert
09. juni 2020 - 11:27 #6
Prøv at højre klik på elementet der trigger din kode og vælge INSPECT og kig på EVENTS Listener. Måske du kan se flere events af samme type, som både Erik og jeg er inde på..
Avatar billede Morten Professor
09. juni 2020 - 11:40 #7
Den har hver sit class id så den ikke roder sammen med de andre, skulle jeg mene
Avatar billede Morten Professor
09. juni 2020 - 11:41 #8
Der kommer noget frem hver i sær fra class id til class id
class="submit_flue_trin_data<?php echo $_POST['get_id']; ?>"
Avatar billede jakobdo Ekspert
09. juni 2020 - 12:41 #9
Har du din side online, så vi kan se hvad du roder med ?
Avatar billede Morten Professor
09. juni 2020 - 13:39 #10
Vil meget gerne. Men hvis du har en mail eller noget kunne jeg sende dig pluginet.
Hvis du har en wordpress side.
Det er et backend plugin
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