2011-07-28 30 views
6

¿Es posible obtener todos los valores predeterminados que están asociados con la función $.ajax?

lo tanto, sería devolver algo como esto:

{ 
    global:true, 
    headers:{}, 
    ifModified:false, 
    type:"GET", 
    url:"the current page url", 
    etc.... 
}

Respuesta

8

De su análisis de la source code, creo que el (actual) por defecto son encontrado en jQuery.ajaxSettings, por supuesto también disponible como $.ajaxSettings. Entonces, si no los has cambiado, deberías poder obtenerlos desde allí.

Tenga en cuenta que si usted tiene ellos cambiado, por ejemplo usando el método $.ajaxSetup utilidad, obtendrá los nuevos valores predeterminados que ha creado, no los inherentes de la biblioteca jQuery.

también mirar el código fuente, parece que los valores por defecto son los siguientes:

ajaxSettings: { 
    url: ajaxLocation, 
    isLocal: rlocalProtocol.test(ajaxLocParts[ 1 ]), 
    global: true, 
    type: "GET", 
    contentType: "application/x-www-form-urlencoded", 
    processData: true, 
    async: true, 
    /* 
    timeout: 0, 
    data: null, 
    dataType: null, 
    username: null, 
    password: null, 
    cache: null, 
    traditional: false, 
    headers: {}, 
    */ 

    accepts: { 
     xml: "application/xml, text/xml", 
     html: "text/html", 
     text: "text/plain", 
     json: "application/json, text/javascript", 
     "*": "*/*" 
    }, 

    contents: { 
     xml: /xml/, 
     html: /html/, 
     json: /json/ 
    }, 

    responseFields: { 
     xml: "responseXML", 
     text: "responseText" 
    }, 

    // List of data converters 
    // 1) key format is "source_type destination_type" (a single space in-between) 
    // 2) the catchall symbol "*" can be used for source_type 
    converters: { 

     // Convert anything to text 
     "* text": window.String, 

     // Text to html (true = no transformation) 
     "text html": true, 

     // Evaluate text as a json expression 
     "text json": jQuery.parseJSON, 

     // Parse text as xml 
     "text xml": jQuery.parseXML 
    } 
}, 
+0

increíblemente lo que estoy buscando. Gracias – locrizak

+0

@locrizak: Solo recuerda que esto no está documentado, por lo que no es necesariamente una prueba de futuro. –

+0

Cierto, pero preferiría usar algo en la biblioteca jquery en lugar de volver a escribirlo en otro objeto. – locrizak

0

Se enumeran en la documentación de jQuery:

http://api.jquery.com/jQuery.ajax/

+1

Sin embargo, puede cambiar los valores por defecto usando '$ .ajaxSetup()'. –

+0

sí, pero no quiero codificar un objeto porque como @mu dijo '$ .ajaxSetup' puede sobrescribirlos – locrizak

Cuestiones relacionadas