用的HTTPStatus codeResult和放大器自定义错误消息; jQuery的 [英] Custom Error message with HTTPStatusCodeResult & jQuery

查看:199
本文介绍了用的HTTPStatus codeResult和放大器自定义错误消息; jQuery的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个控制器动作,返回一些JSON结果jQuery的完整的日历插件。我返回的HTTPStatus codeResult与自定义错误消息,如果有一个错误,但我不能让显示自定义错误消息。所有显示的警告框,这是默认的HTTP状态(即:禁止或内部服务器错误)

控制器code,返回的错误信息

 否则,如果(ID!= CurrentUser.UserId)
{
    返回新的HTTPStatus codeResult(403,您无权查看此。);
}
其他
{
    返回新的HTTPStatus codeResult(500,有在服务器上的错误。);
}
 

jQuery的code

  $(文件)。就绪(函数(){
             $('#日历)。fullCalendar({
                 标题:{
                     左:'preV,接下来的今天,
                     中心:'标题',
                     右:一个月,agendaWeek,agendaDay
                 },
                 高度:600,
                 eventSources:[{
                     网址:事件,
                     输入:'获取',
                     错误:函数(响应状态,错误){
                         警报(response.statusText);
                     }
                 }],
                 allDayDefault:假的,
                 可选:真正的,
                 eventClick:功能(事件){
                     如果(event.url){
                         $('#详细信息)的负载(event.url)。
                     }
                 },
 

解决方案

其实,有没有在code的任何问题都没有。问题是,在Visual Studio中的ASP.NET开发Web服务器。我转向使用IIS EX preSS并能正常工作。

I have a controller action that returns some JSON results to the jQuery Full Calendar plugin. I return a HTTPStatusCodeResult with a custom error message if there was an error, But i cant get the custom error message to display. All that's is displayed in the alert box is the default Http status (ie: 'Forbidden', or 'Internal Server Error')

Controller code that returns the error messages

else if(id != CurrentUser.UserId)
{
    return new HttpStatusCodeResult(403, "You are not authorised to view this.");
}
else
{
    return new HttpStatusCodeResult(500, "There was an error on the server.");
}

jQuery code

$(document).ready(function () {
             $('#calendar').fullCalendar({
                 header: {
                     left: 'prev,next today',
                     center: 'title',
                     right: 'month,agendaWeek,agendaDay'
                 },
                 height: 600,
                 eventSources: [{
                     url: events,
                     type: 'Get',
                     error: function(response, status, error) {
                         alert(response.statusText);
                     }
                 }],
                 allDayDefault: false,
                 selectable: true,
                 eventClick: function (event) {
                     if (event.url) {
                         $('#details').load(event.url);
                     }
                 },

解决方案

Actually there wasn't any problem in the code at all. The problem was with the ASP.NET development Web Server in Visual Studio. I switched to using IIS express and it works fine.

这篇关于用的HTTPStatus codeResult和放大器自定义错误消息; jQuery的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆