Na hostingu nefunguje odeslání ajaxu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- vibko
 - Člen | 43
 
Dobrý den, řeším problém, že na lokalu mi tento skript funguje a na hostingu forpsi ne. Mám přes Multiplier vytvořené 3 formuláře na stránce a potřebuji je zaráz odeslat. Na lokalu se odešlou všechny tři, ale na hostingu pouze ten poslední. Napadá někoho, v čem by kohl být problém?
$("#send-form").off('click').click(function (e) {
                {ifset $articles}
                {foreach $articles as $article}
                var con = $.trim(tinymce.get('main-content-{$article->language_id|noescape}').getContent());
                var pref = $.trim(tinymce.get('main-prefix-{$article->language_id|noescape}').getContent());
                var pAut = $.trim(tinymce.get('play-author-{$article->language_id|noescape}').getContent());
                var pDes = $.trim(tinymce.get('play-description-{$article->language_id|noescape}').getContent());
                var pRev = $.trim(tinymce.get('play-review-{$article->language_id|noescape}').getContent());
                var form = $('#frm-form-{$article->language_id|noescape}');
                var result = form.serialize()
                    + '&prefix='
                    +encodeURIComponent(pref)
                    + '&content='
                    +encodeURIComponent(con)
                    + '&play_author='
                    +encodeURIComponent(pAut)
                    + '&play_description='
                    +encodeURIComponent(pDes)
                    + '&play_review='
                    +encodeURIComponent(pRev);
                console.log(result);
                $.nette.ajax({
                    type: 'POST',
                    beforeSend: function () {
                    },
                    complete: function () {
                    },
                    off: ['loading'],
                    url: form,
                    data: result,
                    success: function () {
                        console.log('inside');
                        $("#success-save").show(100);
                        $("#success-save").delay(2000).hide(100);
                    }
                });
                {/foreach}
                {/ifset}
            });
				
- David Matějka
 - Moderator | 6445
 
myslim, ze to bude zpusobovat unique extension, muzes ho vypnout, viz doc
mimochodem,
- kdyz zapisujes nejaky latte string do javascriptu, tak nepouzivej noescape, ale spoj retezce:
 
'#frm-form-' + {$article->language_id|noescape}
- takhle generovat javascript neni dobre, si tam dej jen nejakou promennou s daty pro javascript (tzn pole s language_id) a pak ji proiteruj v javascriptu
 

- David Matějka
 - Moderator | 6445
 
stejne jako ted vypinas extension „loading“, tak tam akorat pridas do toho pole i „unique“