У меня есть эта функция, чтобы вернуть мне список менеджеров
function getManagers() {
var jqxhr = $.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
url: '/webservice.asmx/GetManagers',
dataType: 'json'
}).success(function(data) {
var options = '<option selected="selected" disabled="disabled">Select Manager</option>';
for (var i = 0; i < data.length; i++) {
options += '<option value="' + data[i].PostRef + '">' + data[i].Description + '</option>';
}
$('#ReceivingCellManager').html(options);
}).error(function(data) {
$('.ErrorText').html('Manager load failed please refresh page with F5');
$("#errormessage").dialog('open');
}).complete(function() {
});
}
как видите, я использую JQuery и хочу заполнить раскрывающийся список с доступными менеджерами
метод в моей службе выглядит так
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void GetManagers()
{
using (var context = new ConcessionModel())
{
var rcm = Business.GetManager();
var serializer = new JavaScriptSerializer();
var response = rcm.Count() != 0
? serializer.Serialize(rcm)
: serializer.Serialize(new Error { Code = "500", Message = "Manager Retrieval Failed" });
this.Context.Response.Clear();
this.Context.Response.ContentType = "application/json";
this.Context.Response.Write(response);
}
}
Когда вызывается метод, я получаю ответ 200 OK, и ответ содержит JSON. Я хочу, чтобы проблема заключалась в том, что ответ не распознается как JSON.
Я ПОПРОБОВАЛА
- добавление dataType к вызову ajax, как вы можете видеть выше
- Удалив this.Context.Response.flush из конца ответа, я вылечил ошибку, которую я получал при настройке заголовков после их отправки.
- добавление формата ответа к методу
- добавление Response.ContentType к контексту. Все они не помогли мне добиться необходимого распознавания JSON. Любая помощь приветствуется.
ОБНОВЛЕНИЕ: ФОРМАТ JSON
{"Описание": "данные", "Код": "данные", "ссылка": "данные"}
ОБНОВЛЕНИЕ ОТВЕТА JSON. Я вижу что-то странное в своем ответе. Мой ответ выглядит следующим образом
[{"Description":"data","Code":"data","reference":"data"}]{"d":null}
Я не уверен, что это за объект d null