데이터가 누락된 경우 ASP.NET MVC의 Ajax 호출이 경고를 트리거하지 않는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-18 22:22:03
원래의
470명이 탐색했습니다.

Why Doesn't an Ajax Call in ASP.NET MVC Trigger an Alert if Data is Missing?

ASP.NET MVC에서 컨트롤러에 대한 간단한 Ajax 호출하기

ASP.NET MVC에서 Ajax 호출을 시도할 때 다음과 같은 문제에 직면할 수 있습니다. 아래 시나리오:

문제

목표는 컨트롤러 메서드에서 반환된 데이터와 함께 경고를 표시하는 것입니다. 그러나 경고가 실행되지 않습니다.

컨트롤러:

public class AjaxTestController : Controller
{
    public ActionResult FirstAjax()
    {
        return Json("chamara", JsonRequestBehavior.AllowGet);
    }   
}
로그인 후 복사

보기:

<code class="html"><script type="text/javascript">
    $(document).ready(function () {
        var serviceURL = '/AjaxTest/FirstAjax';

        $.ajax({
            type: "POST",
            url: serviceURL,
            data: param = "",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: successFunc,
            error: errorFunc
        });

        function successFunc(data, status) {     
            alert(data);
        }

        function errorFunc() {
            alert('error');
        }
    });
</script></code>
로그인 후 복사

관찰:

처음에는 Ajax 호출이 경고를 트리거하지 못했습니다. 관련 없는 매개변수를 추가하고 컨트롤러에서 메서드를 변경한 후 경고가 올바르게 작동하기 시작했습니다. 그러나 이러한 동작이 발생하는 이유는 여전히 불분명합니다.

해결 방법

1. 불필요한 데이터 속성 제거:

서버로 데이터가 전송되지 않으므로 Ajax 호출에서 데이터 속성을 제거해야 합니다.

2. URL에 Razor 구문 활용:

Ajax 메서드에서 Razor 구문을 사용하여 정적 문자열 대신 URL을 생성합니다:

<code class="js">$.ajax({
    url: '@Url.Action("FirstAjax", "AjaxTest")',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: successFunc,
    error: errorFunc
});</code>
로그인 후 복사

3. 성공 함수에 메시지 표시 추가:

성공 함수에서 알림에 표시할 메시지를 추가합니다.

4. 데이터 게시 처리:

서버에 데이터를 게시해야 하는 경우 데이터 속성을 추가하고 Ajax 호출에 적절한 데이터를 제공하세요.

5. 업데이트된 Ajax 호출:

<code class="js">$.ajax({
    type: "POST",
    url: '@Url.Action("FirstAjax", "AjaxTest")',
    contentType: "application/json; charset=utf-8",
    data: { a: "testing" },
    dataType: "json",
    success: function() { alert('Success'); },
    error: errorFunc
});</code>
로그인 후 복사

위 내용은 데이터가 누락된 경우 ASP.NET MVC의 Ajax 호출이 경고를 트리거하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿