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");
                       }
                     }
                });
            }
    
    评论

报告相同问题?

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改