我们在前端使用OpenWeb js库,它们需要.NET中间层在发生某些类型的错误时向它们发送特定的HTTP头状态代码。我试图做到这一点:
public ActionResult TestError(string id) // id = error code
{
Request.Headers.Add("Status Code", id);
Response.AddHeader("Status Code", id);
var error = new Error();
error.ErrorID = 123;
error.Level = 2;
error.Message = "You broke the Internet!";
return Json(error, JsonRequestBehavior.AllowGet);
}
它有点半途而废。看截图:http状态码 http://zerogravpro.com/temp/pic.png
请注意,我在响应标头中实现了状态码400,但我确实需要请求标头中的400。相反,我得到了“200 OK”。我如何实现这一点?
我用于进行调用的 URL 结构很简单:/主/测试错误/400
如果无法在视图中获得json结果,请尝试添加以下内容:
Response.TrySkipIisCustomErrors = true;
在此之前:
Response.StatusCode = 400;
有关此帖子的更多详细信息: https://stackoverflow.com/a/37313866/9223103
如果您只想返回错误代码,您可以执行以下操作:
public ActionResult TestError(string id) // id = error code
{
return new HttpStatusCodeResult(id, "You broke the Internet!");
}
参考:MSDN 关于 Mvc 的文章。
否则,如果要返回其他信息,请使用
Response.StatusCode = id
而不是
Response.AddHeader("Status Code", id);
在从 ASP.NET MVC 操作发送 HTTP 404 响应的正确方法是什么?
您要做的是设置Response.StatusCode
而不是添加Header。
public ActionResult TestError(string id) // id = error code
{
Response.StatusCode = 400; // Replace .AddHeader
var error = new Error(); // Create class Error() w/ prop
error.ErrorID = 123;
error.Level = 2;
error.Message = "You broke the Internet!";
return Json(error, JsonRequestBehavior.AllowGet);
}
问题内容: 我看到了一些类似的问题(像这样),但是没有一个问题专门解决这个问题。 因此,Google 现在支持SPA,并且大多数网络浏览器都支持HTML5 pushState 。 我的AngularJS(但可能是任何JS东西)网站都使用URL来确定API路由。然后执行API调用,然后相应地呈现内容。 但是,由于 每个URL都 返回HTTP 200状态代码(包括example.com/get-fre
问题内容: 我有一个API调用,我需要对其进行一些检查并可能返回各种状态代码。我不需要自定义视图或任何东西,我只需要返回正确的代码。如果用户未通过适当的凭据,则需要返回401状态。如果他们尚未发送受支持的请求格式,则需要返回400状态。 因为它是一个API,所以我真正想做的就是设置响应状态并以一条简单的愚蠢消息退出,该消息说明请求失败的原因(可能使用)。刚好足以完成工作,但我还无法使其正常工作。我
问题内容: 我现在将脚本更改为jquery。这是我的旧javascript: 我现在想将其更改为jquery-ajax: 像在旧脚本中一样,如何测试请求返回的状态码(和responseText)? 问题答案: 试试这个: 要么:
我有一个使用Spring Boot和Apache Camel构建的web应用程序,我正在实现一个REST接口。目前,使用Camel default或组件,我无法在响应中获得HTTP状态代码原因。 下面是我在将HTTP状态代码设置为403时得到的一个示例响应: 应该如何: 我还尝试添加,但结果是相同的。
我有一个基于cxf和camel的restful web服务。我正在为我的工作流程使用Camel routing,大概是这样.. 客户- 豆子FooBar看起来像这样… 现在的问题是,每当我测试它时,我都会在客户端得到 200 的响应代码。现在,如果我希望这段代码不是 200,我需要在 或其他一些 对象中设置它,但我如何访问这个响应对象。 我尝试了以下方法,但没有解决我的问题。 > <代码> Res
问题内容: 我正在使用HTTP调用我们的服务,该服务返回一个简单的JSON响应。我根本不需要解析该JSON。我只需要退还从该服务中获得的收益。 所以我将其映射到并以字符串形式返回实际值。 现在的问题是- 我想在点击URL后提取。如何从上述代码中提取HTTP状态代码?我是否需要以目前的方式对此进行任何更改? 更新:- 这是我尝试过的方法,我也可以获取响应和状态代码。但是我是否总是需要像下面这样设置和