Я создал WebAPI (используя версию 2), который возвращает HttpResponseMessage
. Я делаю AJAX
запросы на эти методы WebAPI, а WebAPI возвращает ответ JSON
. Это все прекрасно и dandy, но теперь мне нужен способ сделать запрос GET на метод WebAPI, который просто возвращает логическое значение. Вот пример GET
запроса я использую, чтобы получить JSON
:Использование ASP.NET WebAPI для возврата Boolean для использования в запросе AJAX GET
$.ajax({
url: 'http://server/site/api/BulletinBoard/GetUserMessageHistory?userId=' + userId + '&messageId=' + messageId,
type: 'GET',
dataType: 'json',
crossDomain: true,
success: function (data) {
DoSomething();
},
error: function (x, y, z) {
alert(x + '\n' + y + '\n' + z);
}
});
То, что я надеюсь достичь что-то вроде (это псевдо-код):
var hasMessageBeenDisplayed =
$.ajax({
url: 'http://server/site/api/BulletinBoard/GetUserMessageHistory?userId=' + userId + '&messageId=' + messageId,
type: 'GET',
dataType: 'json',
crossDomain: true,
success: function (data) {
DoSomething();
},
error: function (x, y, z) {
alert(x + '\n' + y + '\n' + z);
}
});
Где hasMessageBeenDisplayed
будет либо true
или false
, возвращенный моим методом WebAPI. Вот пример моего метода WebAPI:
[HttpGet]
public HttpResponseMessage GetUserMessageHistory(string userId, int messageId)
{
var userMessageHistory = (from i in db.UserMessageHistories
where i.UserId == userId &&
i.MessageId == messageId
select new
{
UserId = i.UserId,
MessageId = i.MessageId,
LastSeen = i.LastSeen,
}).ToList();
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, userMessageHistory);
return response;
}
Чтобы быть в состоянии сделать AJAX
запрос, который ожидает true
или false
, я бы еще вернуться HttpResponseMessage
из моего метода WebAPI? Как я могу сделать запрос AJAX
GET, метод которого он может вернуть true
или false
?
каталог '$ .ajax()' 'вернуть XMLHttpRequest', если код состояния возврата WebAPI 200, он будет выполнять' success' событие вашей вызов. Поскольку вы устанавливаете 'json' в вызове ajax, вы отправляете запрос на webapi с типом содержимого' application/json', и вы получите вывод в этом формате. –