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 중국어 웹사이트의 기타 관련 기사를 참조하세요!