Как заставить mvc action запускать конвертер jquery ajax?

Как сделать, чтобы действие контроллера mvc попало в конвертер ajax. Могу ли я изменить ответ, чтобы выстрелить

$.ajaxSetup({
    converters: {
        "mytype1 mytype2": function (result) {
            //do stuff
            return newresult;
        }
    }
});

Я попытался изменить тип содержимого и кодировку содержимого JsonResult следующим образом:

result.ContentType = "mytype1";
..
response.AppendHeader("Content-Encoding", "mytype1");

Но не оплакивать..

Редактировать:

Что я действительно хочу, так это изменить тип возврата моего действия mvc и добавить конвертер ajax ("mytype1 json"), и при этом все еще иметь все существующие $.ajax-вызовы, которые ожидают, что json будет работать

1 ответ

Я предполагаю, что вы возвращаете json с сервера вы можете извлечь JSON в конвертере и вернуть свой собственный тип

$.ajaxSetup({
    converters: {
        "json mytype2": function (result) {
            //do stuff            
            return newresult;
        }
    }
});

тогда вы можете сделать обычный вызов AJAX

$.ajax({
 url:'',
 type:'',
 dataType:'json mytype2',
 success:function(data){
  // data will be newresult
 }
});

вам не нужно вызывать конвертер явно со стороны сервера

Другие вопросы по тегам