Я пытаюсь использовать jQuery и JSON с веб-службой C #, которую я написал. Несмотря ни на что, следующий код будет выводиться только в формате XML.
Код веб-сервиса
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string HelloWorld() {
return "Hello World!";
}
У меня также есть эти атрибуты, присвоенные классу
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
JQuery код
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "ScheduleComputerDS.asmx/HelloWorld",
data: "{}",
dataType: "jsonp",
success: function(data) {
alert(data);
}
});
Страница ASMX всегда возвращается как тип содержимого "text / xml". Что-то я пропускаю?
РЕДАКТИРОВАТЬ: В ответ на пару ответов:
Если у меня есть тип данных как просто «json», то контент по-прежнему будет XML, и jQuery также не будет вызывать мою функцию обратного вызова. Если я добавлю "& callback =?" по URL-адресу IIS выдает ошибку HTTP 500.
Мой класс наследует от "System.Web.Services.WebService".
Проведя некоторые исследования ваших ответов, похоже, мне действительно нужно связываться с WCF. К сожалению, возвращаемый JSON больше предназначен для MS Ajax и является для меня бесполезным явлением. Я могу заглянуть в библиотеку с открытым исходным кодом, такую как Jayrock или что-то подобное.
Спасибо за вашу помощь!