Avatar billede kodak Mester
26. januar 2020 - 19:52 Der er 3 kommentarer

uden at skifte side

Jeg har følgendene script jeg gerne vil ha modificeret lidt.

[code]
post('index.php', {1: 'One', two: '2', tree: '3', four: '4', five: '5', six: '6'});
[/code]

[code]

function post(path, params, method='post') {
   
    // The rest of this code assumes you are not using a library.
    // It can be made less wordy if you use one.
    const form = document.createElement('form');
    form.method = method;
    form.action = path;
   
    for (const key in params) {
        if (params.hasOwnProperty(key)) {
            const hiddenField = document.createElement('input');
            hiddenField.type = 'hidden';
            hiddenField.name = key;
            hiddenField.value = params[key];
           
            form.appendChild(hiddenField);
        }
    }
   
    document.body.appendChild(form);
    form.submit();
}

[/code]

Jeg vil gerne ha at script bliver udført uden at siden genloader.
Den behøver ikke at gå til index.php hvis blot den bare sender komandoen.
altså noget køre i baggrunden.

Ved ikke om det er nemmest med en hidden iframe.
Avatar billede Slater Ekspert
26. januar 2020 - 22:18 #1
Hidden iframes er meget gammeldags i dag og komplet unødvendigt. AJAX via XMLHttpRequest er den helt åbenlyse løsning her, i stedet for form.submit()

Der er et meget simpelt eksempel f.eks. her: http://hayageek.com/jquery-ajax-post/
Avatar billede kodak Mester
26. januar 2020 - 22:49 #2
Det ser simpelt ud.
Men kan ikke få det til at virke!
Avatar billede keysersoze Guru
26. januar 2020 - 23:08 #3
Det må være en fejl i linje 5.
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