2017-09-24 206 views
0

当用户点击评论图标时,必须进行以下操作:(a)调用驻留在customscript.js文件中的名为SearchData(urlVal,paramVal,callback)的AJAX函数。在Movie Controller中传递指向MovieReview操作方法的参数,查询的值应该是movie Id。 (b)创建一个名为successMovieReviewHandler的函数,它是成功回调函数中的AJAX,它接收AJAX调用的结果。在这里面,功能检查错误和数据有效性。将标题分配给您的模态标题,PartialView以模态正文并使用这些设置键盘调用您的模式:false和背景:“静态”?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(); 
      } 
     } 

这是Ajax的功能:

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); 
     } 
    }); 
} 

请帮我创造了ajax成功回调函数!

+0

这很含糊。关于回调的具体内容是否需要帮助? – Carcigenicate

+0

无法在索引视图中创建Ajax回调。需要将数据从控制器传递到局部视图才能使用弹出编辑! –

回答

0

回调 AJAX功能上了车是PARAMDATAOBJECT回报,你的服务器页面。

该服务器页面必须返回一个对象JSON,必须发送一个头内容为文本/ JSON,你可以,如果你想添加太多状态代码

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

谢谢Headmax! –

+0

@ W.Smit welcome;)gl为下一个。 – 2017-09-25 10:40:52