Da http://api.jquery.com/jQuery.ajax/:
$ .ajax) convertitori (mappatura supporto dati t yves ad altri tipi di dati. Se, invece, si desidera mappare un tipo di dati personalizzato per un tipo noto (ad esempio JSON), è necessario aggiungere un corrispondenza tra la risposta Content-Type e il tipo di dati reale utilizzando l'opzione di contenuti:
$.ajaxSetup({
contents: {
mycustomtype: /mycustomtype/
},
converters: {
"mycustomtype json": function (result) {
// do stuff
return newresult;
}
}
});
Quindi, questo significa che il tipo di dati della tua risposta del server potrebbe essere mycustomtype
. E quando la chiamata AJAX riceve i dati, si vedrà che il suo tipo di dati è mycustomtype
e corrisponde alla regex abbiamo impostato (in contenuti): /mycustomtype/
e getta i dati nel convertitore abbiamo specificato, ad esempio. mycustomtype json()
tenterà di convertire i dati in json.
di approfondire le convertitori:
Il converters["mycustomtype json"]
significa che la funzione specificata qui verrà eseguito quando si desidera convertire mycustomtype
in formato json
, in modo che il contenuto di tale funzione effettua il parsing che restituirà JSON
. È possibile specificare altri tipi di conversione es.
converters: {
"mycustomtype json": converterFromCustomTypeToJson, // mycustomtype -> json
"mycustomtype jsonp": converterFromCustomTypeToJsonP, // mycustomtype -> jsonp
"mycustomtype text": converterFromCustomTypeToText, // mycustomtype -> text
"text mycustomtype": converterFromTextToCustomType // text -> mycustomtype
}
E si potrebbe scrivere i propri convertitore funzioni:
var converterFromCustomTypeToJson = function(result) {
var jsonResult = ...
/* do conversion to JSON */
return jsonResult;
},
converterFromCustomTypeToJsonP = function(result) {
var jsonPResult = ...
/* do conversion to JSONP */
return jsonPResult;
},
converterFromCustomTypeToText = function(result) {
var textResult = ...
/* do conversion to text */
return textResult;
},
converterFromTextToCustomType = function(result) {
var customResult = ...
/* do conversion to mycustomtype */
return customResult;
};
Si piacerebbe anche vogliono evitare confusione con i convertitori di default, che sono:
{
"* text": window.String,
"text html": true,
"text json": jQuery.parseJSON,
"text xml": jQuery.parseXML
}
puoi spiegare meglio la parte "convertitori" ?? –