weixin_33692284 2015-05-26 07:54 采纳率: 0%
浏览 69

返回错误并在ajax中查看

Hello everyone I want to know something is there possible. Using ajax send error message if occurred else send view. you can see my code. please help me what should I do. need some suggestions

here is my example

public ActionResult Test()
{
  string ErrorText = string.Empty;
  if(true)
    return View("PagedList");
  }
  else
  {
    return Json(new { errorMessage = ErrorText});
  }
}

Ajax:-

function Load(page) {

            $.ajax({
                type: "POST",
                url: page,
                xhrFields: {
                    withCredentials: true
                },
                success: function (data) {

                        $('#ReportLoad').empty();
                        $('#ReportLoad').append($.parseHTML(data));

                },
                 error: function (xhr, textStatus, exceptionThrown) {
                    $('#ReportErrors').empty();
                    $('#ReportErrors').html(JSON.parse(xhr.responseText));
                    $('#ReportErrors').show();
                },
                complete: function () {
                }
            });
        }

I don't know I am doing right way or not Can anyone suggest whats the best way to achieve this.

  • 写回答

1条回答 默认 最新

  • weixin_33724046 2015-05-26 08:17
    关注

    Return the error code as a HttpStatusCodeResult, if you just send a reply there is no way of Ajax knowing it is an error unless you check for specific text in the response.

     public ActionResult Test()
     {
          string ErrorText = string.Empty;
          if(true)
            return View("PagedList");
          }
          else
          {
            return new HttpStatusCodeResult(500, ErrorText);
          }
     }
    

    And then detect this with Ajax:

    function Load(page) {
                $.ajax({
                    type: "POST",
                    url: page,
                    xhrFields: {
                        withCredentials: true
                    },
                    success: function (data) {
    
                            $('#ReportLoad').empty();
                            $('#ReportLoad').append($.parseHTML(data));
    
                    },
                     error: function (xhr, textStatus, exceptionThrown) {
                        $('#ReportErrors').empty();
                        $('#ReportErrors').html(JSON.parse(xhr.responseText));
                        $('#ReportErrors').show();
                    },
                    complete: function () {
                    },
                       statusCode: {
                       500: function(response)
                       {
                           alert("internal error");
                       }
                     }
                });
            }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同