2017-09-24 4 views
0

사용자가 주석 아이콘을 클릭하면 다음을 수행해야합니다. (a) customscript.js 파일에있는 SearchData (urlVal, paramVal, callback)라는 AJAX 함수를 호출합니다. Movie Controller에서 MovieReview 액션 메소드를 가리키는 매개 변수를 전달하면 쿼리 값은 movie ID 여야합니다. (b) successMovieReviewHandler라는 함수를 생성합니다. successMovieReviewHandler는 AJAX 호출의 결과를 수신하는 성공 콜백 함수의 AJAX입니다. 이 기능을 사용하면 오류 및 데이터 유효성을 검사 할 수 있습니다. 모달 제목에 제목 할당, 모달 바디에 대한 PartialView 및 이러한 설정으로 모달 호출 keyboard : false, backdrop : "static"?Ajax 성공 콜백 함수

이 내 코드 내 영화 컨트롤러에 있습니다

[AcceptVerbs(HttpVerbs.Get)] 
     public JsonResult MovieReview(Guid? query) 
     { 
      var m = db.Movies.FirstOrDefault(x => x.Id == query); 
      if (m != null) 
      { 
       MovieReview review = new MovieReview(); 
       review.Id = (Guid)query; 

       var viewContent = ConvertViewToString("_MovieReview", review); 
       //var viewContent = ConvertViewToString("_ReviewModal", review); 
       return Json(new { PartialView = viewContent, Title = m.Title, Success = true }, JsonRequestBehavior.AllowGet); 
      } 
      else 
      { 
       return Json("",JsonRequestBehavior.AllowGet); 
      } 
     } 

     [ChildActionOnly] 
     private string ConvertViewToString(string viewName, object model) 
     { 
      ViewData.Model = model; 

      using (StringWriter writer = new StringWriter()) 
      { 
       var vResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName); 

       var vContext = new ViewContext(ControllerContext, vResult.View, ViewData, (new TempDataDictionary()), writer); 

       vResult.View.Render(vContext, writer); 

       return writer.ToString(); 
      } 
     } 

이것은 아약스 기능입니다 :

function SearchData(urlVal, paramVal, callback) { 
    $.ajax({ 
     url: urlVal, 
     type: "GET", 
     dataType: "json", 
     async: true, 
     data: { query: paramVal }, 
     success: callback, 
     error: function (data) { 
      // data contains the value returned by the server 

      console.log("Error : " + data); 
     } 
    }); 
} 

날 아약스 성공 콜백 함수를 만드는 데 도와주세요! 콜백 아약스 기능에있어

+0

이것은 매우 모호합니다. 특히 콜백에 대해 도움이 필요한 것은 무엇입니까? – Carcigenicate

+0

인덱스 뷰에서 Ajax 콜백을 생성하는 데 문제가 있습니다. 팝업 편집을 사용하려면 컨트롤러에서 부분 뷰로 데이터를 전달해야합니다! –

답변

0

PARAM데이터는 서버 페이지의 OBJECT 수익입니다.

이 서버 페이지 는 객체 JSON을 반환해야하고 당신이 원하는 경우에 당신이 너무 상태 코드를 추가 할 수있는 텍스트/JSON,로 헤더의 컨텐츠를 전송해야합니다.

function callback(data){ 
    console.log(data); 
    alert(data); 
} 
+0

헤드 맥스 감사합니다! –

+0

@ W.Smit welcome;) 다음에 gl. –