我对ajax有点陌生,所以请原谅我的无知。
在AngularJs中,我发布了如下ajax帖子:
$.ajax({
url: "http://localhost:65337/api/Account/Register",
type: "POST",
beforeSend: function (request) {
request.setRequestHeader("Authorization", "Bearer " + $scope.authToken);
request.setRequestHeader("Content-Type", "application/json; charset=utf-8");
},
datatype: "json",
data: JSON.stringify(postObj)
}).error(function (data, status, error) {
$scope.$emit('MESSAGE', data.Message, data.IsError);
}).success(function (xmlHttpRequest, status, error) {
// this callback fires even on server error code 500
})当我在服务器上遇到一个内部错误时,当服务器遇到错误时,我会发送以下响应:
var response = new HttpResponseMessage(HttpStatusCode.InternalServerError);
ErrorTModel data = new ErrorTModel(msg, IsError);
response.Content = new StringContent(
JsonConvert.SerializeObject(data,
Formatting.Indented,
new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }),
Encoding.UTF8,
"application/json"
);
return response;我已经阅读了所有我能在谷歌上找到的关于这件事的资料,所以任何帮助都会非常感谢。
发布于 2015-01-12 01:26:17
而不是
return new HttpResponseMessage(HttpStatusCode.InternalServerError);创建并返回以下内容:
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, new Exception("Test"));.error回调任何$Ajax或$http方法都会触发。
发布于 2015-01-11 02:09:14
我不知道你想用c#代码实现什么。启动错误回调(用于测试目的)的最简单方法是在c#代码中抛出异常:
throw new Exception();发布于 2015-01-11 03:17:51
从正在发布的数据中省略一个必需的键/值对,引用javascript第9行的postObj。我假设,在将其全部或部分存入帐户注册端点时是必需的。
https://stackoverflow.com/questions/27883183
复制相似问题