Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Ajax call centralizzate

    Salve,

    mi sto un attimo riprendendo in mano il codice che ho scritto al volo per il mio sito.. Vorrei centralizzare le chiamate ajax per scrivere meno codice possibile, per ora sono giunto a questo ma facendo una prova non mi funge..

    Qualcuno ci da un occhio? non so neanche se sto facendo nel modo giusto perchè sto scrivendo più php-like che js-like ma comunque qualcosa c'è:
    Codice PHP:
    var ajaxObject = {
        
    callXMLhttp: function () {
            var 
    request;

            
    //se il browser è firefox
            
    if (window.XMLHttpRequest) {
                
    //istanzio un nuovo oggetto XMLHttpRequest
                
    request = new XMLHttpRequest();
                if (
    request.overrideMimeType) {
                    
    request.overrideMimeType('text/xml');
                }
            
    //se il browser è IE    
            
    } else if (window.ActiveXObject) {
                try {
                
    request = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (
    e) {
                    try {
                    
    request = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (
    e) {
                        
    request false;
                    }
                }
            }
            
    //restituisco l'istanza all'oggetto ajax
            
    return request;
        },

        
    manage: function (requesttypecallback) {
            var 
    result;

            if (
    request.readyState === && request.status === 200) {
                switch (
    type) {
                    case 
    'text':
                        
    result request.responseText;
                        break;
                    case 
    'json':
                        
    result = $.parseJSON(request.responseText);
                        break;
                }
                
    callback.show(result);
                } else {
                
    this.requestFailed('error'request);
            }
        },

        
    requestFailed: function (idrequest) {
            if (
    document.getElementById) {
    //linea 557            document.getElementById(id).innerHTML = 'The XMLHttpRequest failed, STATUS: ' + request.status;
            
    }
            return;
        }
    }; 
    in particolare il metodo "manage"
    Codice PHP:
            oHttpMarkerReq ajaxObject.callXMLhttp();
            if (
    oHttpMarkerReq) {
                
    oHttpMarkerReq.open("POST"urltrue);
                
    oHttpMarkerReq.onreadystatechange ajaxObject.manage(oHttpMarkerReq'json'mapFunc); 
    il primo test mi da:
    Errore: uncaught exception: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: http://www..net/js/utils.js :: anonymous :: line 557" data: no]

    ma non sono molto sicuro che onreadystatechange possa accettare una funzione scritta in quel modo (mapFunc ovviamente ha un metodo "show" tra gli altri)

    solutions?
    Questa volta, più che un voto.. è favoreggiamento.

  2. #2
    Mi auto-rispondo da solo:

    Codice PHP:
    oHttpMarkerReq.onreadystatechange = function () {
        
    ajaxObject.manage(oHttpMarkerReq'json'mapFunc);

    this fix my problem..
    Questa volta, più che un voto.. è favoreggiamento.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.