Конвертер jQuery ajax. Возможно ли это?

#jquery #ajax

#jquery #ajax

Вопрос:

Я могу создать конвертер для моего собственного типа mime:

     $.ajax( url, {
        accepts: { dload: 'application/x-dload' },
        contents: { dload: /dload/ },
        converters: {
            "text dload": jQuery.parseJSON,
        },
        dataType: 'dload',
        success: function( data, status, xhr ){
            ... data is of dload type
        },
    })
  

Но возможно ли предоставить конвертеры для моего mime-типа, когда ответ не является текстовым? например, xml или html?

Это не работает:

     $.ajax( url, {
        accepts: { dload: 'application/x-dload' },
        contents: { dload: /dload/ },
        converters: {
            "text dload": jQuery.parseJSON,
            "xml dload": convert_xml_to_dload,
            "html dload": convert_html_to_dload,
        },
        dataType: 'dload',
        success: function( data, status, xhr ){
            ... data is of dload type
        },
    })
  

Комментарии:

1. значением конвертера должна быть функция. Итак, попробуйте использовать анонимную функцию

2. @AswinKumar это функции, или, по крайней мере, jQuery.parseJSON это, безусловно, так

3. @AswinKumar: convert_xml_to_dload это имя функции. Нет разницы между анонимной функцией и именованной функцией

Ответ №1:

Я не тестировал это, но просматривал документацию jQuery http://api.jquery.com/jquery.ajax/#using-converters Вам, вероятно, нужно что-то вроде этого:

 converters: {
    "text dload": true,
    "dload json": jQuery.parseJSON,
    "dload xml": convert_xml_to_dload, // or jQuery.parseXML
    "dload html": convert_html_to_dload,
}
  

Комментарии:

1. Я видел этот раздел. И это говорит о преобразовании dload в другие типы