以下に、いくつかの書籍に関する情報のリストを返すWebAPIメソッドを示します。角度のjs約束でNegotiatedContentResultオブジェクト(WebAPIから送信)を読む
[System.Web.Http.Authorize]
public async Task<IHttpActionResult> Get(Guid id)
{
try
{
var result = await _assetAssetRepository.View(id);
if (result == null)
{
return NotFound();
}
return Content(HttpStatusCode.Found, result);
}
catch (Exception ex)
{
return Content(HttpStatusCode.InternalServerError,
"Exception Occurred" + ex.Message + " " + ex.StackTrace);
}
}
このデータを消費する角度jsのコード
var getAssetDetails = function (assetId) {
var deferred = $q.defer();
$http.get("/api/Asset/" + assetId, { headers: { 'Authorization': 'Bearer ' + $cookies.get('accessToken') } })
.then(function (response) {
deferred.resolve(response);
}).catch(function (response) {
alert("Oops something wrong: " + response.data);
deferred.reject(response);
}).finally(function() {
});
return deferred.promise;
};
あなたはWEBAPI
にと「リターンコンテンツ(HttpStatusCode.OK、結果を)」のコード行を置き換える場合、私は苦労していますビットであります"return Ok(result)" UIのデータは問題なく見ることができます。しかし、私が
"返信コンテンツ(HttpStatusCode.OK、result)"を使用すると、一部の角度コードがこれを読み取ることができず、例外がスローされ、 "間違った[オブジェクトオブジェクト]"というアラートメッセージが表示されます何らかの理由でデータがまだスローされている例外です。誰でも助けてくれる?
あなたの 'catch'コールバックの中で、http応答ではなくパラメータとして例外を受け取ります。この例外を分析して、より良くお手伝いできるようにしてください。 –
'response.responseText'または' response.responseJSON'を試してください – Sam