programing

Ajax 시나리오에서 오류를 반환하는 방법

instargram 2023. 10. 4. 20:55
반응형

Ajax 시나리오에서 오류를 반환하는 방법

ASP를 사용하고 있습니다.JQuery와 함께하는 NET MVC.성공에 대한 부분 페이지를 반환하는 다음과 같은 MVC Action이 있습니다.Application Error(애플리케이션 오류)에서 클라이언트 측에서 올바르게 처리하기 위해 무엇을 보내야 할지 잘 모르겠습니다.

public ActionResult LoadFilterSet(int filterSetId)
{
    try
    {
        BreadCrumbManager bcManager = this.ResetBreadCrumbManager(this.BreadCrumbManagerID);
        GeneralHelper.LoadBreadCrumbManager(bcManager, filterSetId);

        ViewData["BreadCrumbManager"] = bcManager;
        return View("LoadFilterSet");
    }
    catch (Exception ex)
    {
        return Content("");
    }
}

다음은 저의 jQuery ajax 전화입니다.오류가 없는지 확인하기 위해 데이터 길이를 확인 중임을 알려드립니다.이것을 하는 더 좋은 방법을 제게 제안해 주세요.

$.ajax({
    type: "GET",
    dataType: "html",
    async: true,
    data: ({ filterSetId: selectedId }),
    url: link,
    contentType: "text/html; charset=utf-8",
    success: function(data, textStatus) {
        if (data.length > 0) {
            // Clear the local filters first.
            clearLocalFilters();
            $('td.selected-filters table.filters-display').append(data);
        }
    }
});

당신의 ajax call 설정에 오류 함수를 추가하겠습니다.서버가 표시할 오류 메시지를 결정하고 ajax error handler를 전달하여 표시하게 합니다.

success: function(data, textStatus) {     
    // Clear the local filters first.     
    clearLocalFilters();     
    $('td.selected-filters table.filters-display').append(data);         
},
error: function (data) { 
    alert(data.responseText); // use any display logic here
}

컨트롤러의 작업에서 오류가 발견되면

Response.StatusCode = (int)HttpStatusCode.BadRequest; 
return Content(errorMessage, MediaTypeNames.Text.Plain);

할 수 있을 것 같습니다.return Content(false.ToString().ToLower());오류가 발생한 경우 데이터가 거짓이 아닌지 확인합니다.

if(data != false)
{

    //do stuff
}

아니면

if(!data)
  alert("Error");
else
{
  //do stuff
}

언급URL : https://stackoverflow.com/questions/2832510/how-to-return-an-error-in-an-ajax-scenario

반응형