首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS & Ajax后-如何获得ajax错误(而不是成功)回调触发

问AngularJS & Ajax后-如何获得ajax错误(而不是成功)回调触发
EN

Stack Overflow用户
提问于 2015-01-11 01:48:36
回答 3查看 937关注 0票数 1

我对ajax有点陌生,所以请原谅我的无知。

在AngularJs中,我发布了如下ajax帖子:

代码语言:javascript
复制
            $.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
            })

当我在服务器上遇到一个内部错误时,当服务器遇到错误时,我会发送以下响应:

代码语言:javascript
复制
        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;

我已经阅读了所有我能在谷歌上找到的关于这件事的资料,所以任何帮助都会非常感谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-12 01:26:17

而不是

代码语言:javascript
复制
return new HttpResponseMessage(HttpStatusCode.InternalServerError);

创建并返回以下内容:

代码语言:javascript
复制
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, new Exception("Test"));

.error回调任何$Ajax或$http方法都会触发。

票数 1
EN

Stack Overflow用户

发布于 2015-01-11 02:09:14

我不知道你想用c#代码实现什么。启动错误回调(用于测试目的)的最简单方法是在c#代码中抛出异常:

代码语言:javascript
复制
throw new Exception();
票数 2
EN

Stack Overflow用户

发布于 2015-01-11 03:17:51

从正在发布的数据中省略一个必需的键/值对,引用javascript第9行的postObj。我假设,在将其全部或部分存入帐户注册端点时是必需的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27883183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档