5
私は単純なAngularJS $ httpブロックを持っています。
$http(req).then(function successCallback(response) {
alert(response);
}, function errorCallback(response) {
alert(response);
});
私の問題は、私のASP.NETコントローラがHTTPエラーコードを返すと、JS errorCallbackが次のようなオブジェクトを受け取ることです。
{data: "", status: 304, config: Object, statusText: "Not Modified"}
私が何をしても、私のコールバックにデータプロパティを設定することはできません。
代わりに私のコントローラがHTTP OKコードを返した場合は、「成功」コールバックが呼び出され、戻りデータが利用可能になります。しかし、それがエラーのときではない...助け!
コントローラ機能はWebAPI POSTハンドラであり、次のようになります。
[System.Web.Http.HttpPost]
public async Task<HttpResponseMessage> Save([FromBody]object data)
{
...<snip>...
return new HttpResponseMessage
{
StatusCode = HttpStatusCode.NotModified,
Content = new JsonContent(JObject.FromObject(new
{
success = false,
message = "User not authorised to perform this action."
}))
};
}
と同じ構造ですが、
StatusCode = HttpStatusCode.OK
JSのコールバックで正常に受信されました。
これはコードの入力ミスですか? 'データ'対 '応答'? –
@EvanTrimboli:はい、修正されました。 –
エラーが発生したときに 'data'に何が入ると思いますか? @Rob; – Rob