0

Web API での最初の試みで、少し混乱しています。

Web API で基本的な削除を設定しました。

public HttpResponseMessage Delete(string id)
{
    HttpResponseMessage response = new HttpResponseMessage();
    response.ReasonPhrase = "User successfully deleted";
    response.StatusCode = HttpStatusCode.OK;

    return response;
}

jquery ajax経由で呼び出す:

deleteUser: function (data) {
    var self = this;
    $.ajax({
        type: "DELETE",
        url: urlPath + data.Id,
        success: function (response) {
            alert("Success: " + response.status + " : " + response.statusText);
        },
        error: function (response) {
            alert("Error: " + response.status + " : " + response.statusText);
        }
    });
}

これはうまくいきます... Chrome開発者ツールはStatusCode: 200 User successfully deletedと言っています。

残念ながら、ajax の成功からのアラートは「成功: 未定義: 未定義」と表示されるだけで、Chrome で成功関数を壊すと、応答変数が空白になります。

ajax呼び出しでステータスコード/メッセージを取得して画面に表示するにはどうすればよいですか?

ありがとう

4

1 に答える 1

2

jQuery のajax.successコールバック関数のパラメーターは次のとおりです。

function(PlainObject data, String textStatus, jqXHR jqXHR)

ご覧のとおり、最初のパラメーターは生の応答本文です。HTTP ステータス コードとテキストが必要な場合は、jqXHR(3 番目のパラメーター) データを使用します。

success: function(data, status, xhr)
         {
         alert("Success: " + xhr.status + " : " + xhr.statusText);
         }
于 2013-12-05T13:22:51.923 に答える