6
Mam cos takiego

Kod
function manageCart(task, pid, itemtype, itemid, site) {
       if(site == undefined) {
           site = '';
       }
       var url = getURLBase() + 'process.php';
       if(site == 'article') {
           document.articleform.submit();
       } else {
              var params = 'task=' + task + '&id=' + pid + '&itemtype=' + itemtype + '&itemid=' + itemid + '&site=' + site;
           var ajax1 = new Ajax.Updater(
                      {success: 'ajaxresults'},
                      url,
                      {method: 'get', parameters: params, onFailure: reportError});
                      
           var params = 'task=update_premiumarticles_list' + '&pid=' + pid;
           var ajax2 = new Ajax.Updater(
                      {success: 'premium_articles_list'},
                      url,
                      {method: 'get', parameters: params, onFailure: reportError});
           var params = 'task=update_prices' + '&pid=' + pid;
           var ajax3 = new Ajax.Updater(
                      {success: 'content_right_padding'},
                      url,
                      {method: 'get', parameters: params, onFailure: reportError});
       }
    }


Problem w tym ze czasami puszcza wszystkie 3 requesty a czasami tylko pierwszy...
Ktos ma moze pomysl co jest zle? Jak to rozwiazac?

Thnx

Szkolny blad smile.gif
Sekwenca requestow jest w tym przypadku bardzo wazna, wiec trzeba je zamienic na synchroniczne, bo tak naprawde nie ma pewnosci, ktory zostanie wykonany pierwszy.
Powinno to wygladac mniej wiecej tak:

Kod
<span class="postcolor">function manageCart(task, pid, itemtype, itemid, site) {
        if(site == undefined) {
            site = '';
        }
        var url = getURLBase() + 'process.php';
        if(site == 'article') {
            document.articleform.submit();
        } else {
               var  params = 'task=' + task + '&id=' + pid + '&itemtype=' +  itemtype + '&itemid=' + itemid + '&site=' + site;
            var ajax1 = new Ajax.Updater(
                       {success: 'ajaxresults'},
                       url,
                       {asynchronous: false, method: 'get', parameters: params, onFailure: reportError});
                      
            var params = 'task=update_premiumarticles_list' + '&pid=' + pid;
            var ajax2 = new Ajax.Updater(
                       {success: 'premium_articles_list'},
                       url,
                       {asynchronous: false, method: 'get', parameters: params, onFailure: reportError});
            var params = 'task=update_prices' + '&pid=' + pid;
            var ajax3 = new Ajax.Updater(
                       {success: 'content_right_padding'},
                       url,
                       {asynchronous: false, method: 'get', parameters: params, onFailure: reportError});
        }

        ajax1.updateContent();
        ajax2.updateContent();
        ajax3.updateContent();
     }</span>


Pzdr