2017-04-06 57 views
-1

不能工作的功能ajax,我可以工作吗?我想用mvc ajax显示通知。但是我使用ActionResult回滚返回RedirectToAction(“myAction”,“myControl”),我可以做出来吗? 感谢您的帮助.. 我的示例代码:Mvc Jquery Ajax功能不能正常工作

$(document).ready(function() { 
    $.ajax({ 
     url: '/Kategori/KategoriEkle', 
     type: 'POST', 
     data: "{}", 
     datatype: 'html', 
     success: function() { 
      var unique_id = $.gritter.add({ 

       title: 'Welcome to Home!', 
       text: 'Message', 
       //image: '/assets/img/ui-sam.jpg', 
       sticky: true, 
       time: '', 
       class_name: 'my-sticky-class' 
      }); 

      return false; 
     } 
    }); 
}); 

Kategori.cs

[HttpPost] 
    public ActionResult KategoriEkle(Kategori kategori) 
    { 
     KutuphaneContext db = new KutuphaneContext(); 
     var con = db.Kategori.Where(x => x.KategoriAdi == kategori.KategoriAdi).Count(); 

     if (con <= 0 && kategori.KategoriAdi != null) 
     {     
      _kategoriRepository.Insert(kategori); 
      _kategoriRepository.Save(); 
     } 

     return RedirectToAction("Kategoriler", "Kategori"); 
    } 

} 
+1

AJAX的全部要点是保持同页面(并更新DOM)。 Ajax调用不会重定向。如果你想重定向,不要使用ajax - 做一个正常的提交。 –

+0

如何正常提交@StephenMuecke ..感谢 – ynsbldk

+0

正常提交,意味着写出你的正常方法就像asp.net一样。你正在按钮上点击按钮。 – kishor10d

回答

0

这可能会帮助你。在Ajax调用方法,而不是控制

  1. 重定向控制器返回JSON

    [HttpPost] 
    public ActionResult KategoriEkle(Kategori kategori) 
    { 
        KutuphaneContext db = new KutuphaneContext(); 
        var con = db.Kategori.Where(x => x.KategoriAdi ==  kategori.KategoriAdi).Count(); 
    
        if (con <= 0 && kategori.KategoriAdi != null) 
        {     
         _kategoriRepository.Insert(kategori); 
         _kategoriRepository.Save(); 
        } 
        url = Url.Action("Kategoriler", "Kategori"); 
        redirect = true; 
    
        return Json(new 
        { 
         redirectUrl = url, 
         isRedirect = redirect 
        }, JsonRequestBehavior.AllowGet); 
    } 
    
  2. 在Ajax调用

     $.ajax({ 
         url: '/Kategori/KategoriEkle', 
         type: 'POST', 
         data: "{}", 
         datatype: 'json', 
         contentType: "application/json; charset=utf-8", 
         success: function() { 
         var unique_id = $.gritter.add({ 
    
         title: 'Welcome to Home!', 
         text: 'Message', 
         //image: '/assets/img/ui-sam.jpg', 
         sticky: true, 
         time: '', 
         class_name: 'my-sticky-class' 
    
         if (response.isRedirect) { 
          window.location.href = response.redirectUrl; 
          return false; 
         } 
         else { 
          alert('Error occurred.'); 
         } 
        }, 
        error: function (XMLHttpRequest, textStatus, errorThrown) { 
         alert(errorThrown); 
        } 
    
+0

哇。谢谢@Ved – ynsbldk

+0

当你想重定向时,做一个阿贾克斯呼叫是无稽之谈 –

+0

@StephenMuecke你有什么建议吗? – ynsbldk