HttpResponseMessage
を返すWebAPI(バージョン2を使用)を構築しました。私はこれらのWebAPIメソッドへのAJAX
要求を行い、WebAPIはJSON
応答を返します。これはすべて上質で素敵ですが、今は必要なのは、ブール値を返すWebAPIメソッドにAJAX
GETリクエストを行う方法です。ここで私はJSON
を取得するために使用していGET
要求の例です:ASP.NET WebAPIを使用してAjax GETリクエストで使用されるBooleanを返す
$.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
はどちらかだろう
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);
}
});
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;
}
true
またはfalse
を期待AJAX
要求を作成できるようにするために、私はまだ私のWebAPIのメソッドからHttpResponseMessage
を返すでしょうか?どのようにしてAJAX
GET要求を呼び出して、true
またはfalse
を返すことができますか?
を '$アヤックス()' 'XMLHttpRequest'を返し、WEBAPIが200ステータスコードを返す場合、それはあなたの' SUCCESS'イベントを実行しますコール。あなたはajax呼び出しで 'json'を設定しているので、content-type' application/json'でwebapiにリクエストを送ります。この形式で出力されます。 –