.NetCore 2.2에서 Ajax 호출을 통해 DeveloperExceptionPage가 표시되지 않음

비제이

현재 .Net Core 2.2 예외 처리 시나리오에서 작업 중입니다. UseDeveloperExceptionPage()개발 모드에서 예외 정보를 표시하기 위해 사용하고 있습니다. 그러나 컨트롤러 메서드 중 하나에 Ajax를 수행 할 때 응용 프로그램이 런타임 예외를 throw하는 경우. UseDeveloperExceptionPage대신 Ajax errorfunction () 에서 응답을 받고 있으므로 예외 세부 정보가 표시되지 않습니다 . 누구든지 개발자 예외 페이지가 표시되지 않는 이유를 설명 할 수 있습니까? 그리고 ajax 호출 중에 예외 세부 사항과 함께 개발자 예외 페이지를 표시하는 방법을 설명해주십시오.

아래는 Configure()Startup.cs파일에 있습니다.

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
        app.UseStatusCodePagesWithReExecute("/Error/{0}");
    }
    else
    {
        app.UseExceptionHandler("/Exception");
        app.UseHsts();
    }

    app.UseHttpsRedirection();
    app.UseStaticFiles();
    //app.UseAuthentication();
    app.UseSession();
    //app.UseCookiePolicy();
    app.UseMiddleware<AuthenticationMiddleware>();
    app.UseMvc(routes =>
    {
        routes.MapRoute(
            name: "default",
            template: "{controller=Account}/{action=Index}/{id?}");
        });            
    }

자바 스크립트

$.ajax({
    url: "@Url.Action("Index", "Home")",
    dataType: "json",
    type: "POST",
    Async: true,
    success: function(result) {
        // Do Something                  
    },
    error: function() {
        alert("Oops!! Error Occured");
    }
});

HomeController

public IActionResult Index()
{
    throw new Exception();

    return View(viewTransactionsBatchSearch);
}
조나단 알파로

다음과 같은 예외 정보를 얻을 수 있습니다.

$.ajax({
            url: "@Url.Action("Index", "Home")",
            dataType: "json",
            type: "POST",
            Async: true,
            success: function (result) {
                // Do Something                  
            },
            error: function (result) {
                //do something with the responseText which contains the Body of the response
                alert(result.responseText);
            }
        });

컨트롤러는 AJAX를 사용하여 호출했는지 여부를 알지 못합니다. Http 요청 만 확인합니다. 오류 함수에 매개 변수를 추가하여 Http 응답을 검사 할 수 있습니다.

예를 들어 responseText 속성을 검사 하여 예외 정보를 가져올 수 있습니다.

예를 들어 콘텐츠를 div 또는 기타 표시 요소로 설정할 수 있습니다.

또한 AJAX 요청의 dataType이 "json"으로 설정되어 있기 때문에 reponseText에는 예외 정보와 헤더 만 포함됩니다.

dataType을 "html"로 설정하면 FULL Developer Exception Page의 html이 표시되며이를 사용하여 작업을 수행 할 수 있습니다.

다음은 responseText로 수행 할 작업에 대한 몇 가지 예입니다.

예 1 : dataType : "html":

        $.ajax({
            url: "@Url.Action("Index", "Home")",
            dataType: "html",
            type: "POST",
            Async: true,
            success: function (result) {
                // Do Something                  
            },
            error: function (result) {
                document.open();
                document.write(result.responseText);//this will replace the current page with the developer exception page
                document.close();               
            }
        });

예 2 when dataType : "json": 서버가 전체 HTML 문서를 반환하지 않도록 JSON을 요청했기 때문에 이것은 다릅니다.

이것은 "예쁘게"보이지 않지만 모든 예외 정보를 가지고 있습니다.

$.ajax({
        url: "@Url.Action("Index", "Home")",
        dataType: "json",
        type: "POST",
        Async: true,
        success: function (result) {
            // Do Something                  
        },
        error: function (result) {
            document.body.innerHTML = result.responseText;                          
        }
    });

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Form.Shown 호출에 의해 PictureBox 이미지가 표시되지 않음

분류에서Dev

Google지도 마커가 Ajax를 통해 동적으로 표시되지 않음

분류에서Dev

Asp.net MVC 프로젝트에서 ajax를 통해 작업을 호출하지 않음

분류에서Dev

http.get을 통해 API를 호출하고 올바른 JSON을받은 후 Angular2 클래스가 정의되지 않음

분류에서Dev

AJAX를 통해 호출 될 때 PHP 스크립트가 데이터를 에코하지 않음

분류에서Dev

Yii2에서 Gii 페이지가 표시되지 않음

분류에서Dev

yii2의 모델을 통해 데이터가 저장되지 않음

분류에서Dev

ajax에서 호출 할 때 div에 HTML이 표시되지 않음

분류에서Dev

ajax에서 전환 할 때 jquery가 호출되지 않음

분류에서Dev

Ajax 업데이트에 메시지가 표시되지 않음

분류에서Dev

UICollectionView에 제목을 표시하려고 할 때 GetViewForSupplementaryElement가 호출되지 않음

분류에서Dev

interop을 통해 프로그래밍 방식으로 열 때 MS Word 문서가 표시되지 않음

분류에서Dev

googlemapsv2에서 앱을 시작할 때 클러스터가 표시되지 않음

분류에서Dev

컴파일러가 인수 2에 대해 [오류] 호환되지 않는 유형을 표시하는 이유

분류에서Dev

Flutter : setState () 메서드 호출 후 SnackBar가 표시되지 않음

분류에서Dev

xamarin.forms에서 FCM을 통해 전송 된 알림을 받았지만 시스템 트레이에 이미지가 표시되지 않음

분류에서Dev

찾기 호출에 TypeORM 외래 키가 표시되지 않음

분류에서Dev

Ajax가 웹 페이지에 표시되지 않음

분류에서Dev

PHP가 ajax 호출에서 CSV를 출력하지 않음

분류에서Dev

Select2가 Ajax 호출 후 데이터를로드하지 않음

분류에서Dev

Select2-자리 표시자가 표시되지 않음

분류에서Dev

Ajax가 호출되지 않음

분류에서Dev

Ajax 함수가 호출되지 않음

분류에서Dev

J2ME Midlet에 이미지가 표시되지 않음

분류에서Dev

CSS를 통해 웹 사이트에 SVG가 표시되지 않음

분류에서Dev

선택을 동적으로 생성 한 다음 변경시 ajax 호출을 통해 html을 추가합니다.

분류에서Dev

ajax에서 업로드 기능을 호출 한 후 이미지가 업로드되지 않음

분류에서Dev

Django의 Ajax 필터가 HTML에 표시되지 않음

분류에서Dev

Laravel 컨트롤러에서 요청을받을 때 Ajax 포스트 데이터가 표시되지 않음

Related 관련 기사

  1. 1

    Form.Shown 호출에 의해 PictureBox 이미지가 표시되지 않음

  2. 2

    Google지도 마커가 Ajax를 통해 동적으로 표시되지 않음

  3. 3

    Asp.net MVC 프로젝트에서 ajax를 통해 작업을 호출하지 않음

  4. 4

    http.get을 통해 API를 호출하고 올바른 JSON을받은 후 Angular2 클래스가 정의되지 않음

  5. 5

    AJAX를 통해 호출 될 때 PHP 스크립트가 데이터를 에코하지 않음

  6. 6

    Yii2에서 Gii 페이지가 표시되지 않음

  7. 7

    yii2의 모델을 통해 데이터가 저장되지 않음

  8. 8

    ajax에서 호출 할 때 div에 HTML이 표시되지 않음

  9. 9

    ajax에서 전환 할 때 jquery가 호출되지 않음

  10. 10

    Ajax 업데이트에 메시지가 표시되지 않음

  11. 11

    UICollectionView에 제목을 표시하려고 할 때 GetViewForSupplementaryElement가 호출되지 않음

  12. 12

    interop을 통해 프로그래밍 방식으로 열 때 MS Word 문서가 표시되지 않음

  13. 13

    googlemapsv2에서 앱을 시작할 때 클러스터가 표시되지 않음

  14. 14

    컴파일러가 인수 2에 대해 [오류] 호환되지 않는 유형을 표시하는 이유

  15. 15

    Flutter : setState () 메서드 호출 후 SnackBar가 표시되지 않음

  16. 16

    xamarin.forms에서 FCM을 통해 전송 된 알림을 받았지만 시스템 트레이에 이미지가 표시되지 않음

  17. 17

    찾기 호출에 TypeORM 외래 키가 표시되지 않음

  18. 18

    Ajax가 웹 페이지에 표시되지 않음

  19. 19

    PHP가 ajax 호출에서 CSV를 출력하지 않음

  20. 20

    Select2가 Ajax 호출 후 데이터를로드하지 않음

  21. 21

    Select2-자리 표시자가 표시되지 않음

  22. 22

    Ajax가 호출되지 않음

  23. 23

    Ajax 함수가 호출되지 않음

  24. 24

    J2ME Midlet에 이미지가 표시되지 않음

  25. 25

    CSS를 통해 웹 사이트에 SVG가 표시되지 않음

  26. 26

    선택을 동적으로 생성 한 다음 변경시 ajax 호출을 통해 html을 추가합니다.

  27. 27

    ajax에서 업로드 기능을 호출 한 후 이미지가 업로드되지 않음

  28. 28

    Django의 Ajax 필터가 HTML에 표시되지 않음

  29. 29

    Laravel 컨트롤러에서 요청을받을 때 Ajax 포스트 데이터가 표시되지 않음

뜨겁다태그

보관