функция обратного вызова jquery не работает

0

У меня есть гиперссылка, на клик-событие которой я вызываю метод delete в моем контроллере (используя jquery.get), проблема, с которой я сталкиваюсь, заключается в том, что она никогда не вызывается, и удаление никогда не выполняется, просмотрите код, чтобы получить четкое понимание!

$('.hyp').click(function () {
            var id = $(this).attr('href');
            alert(id);

            //$('.' + delid).hide("slow");
            //$('#delid').remove();


            $.get('admin/deletecomment', { id:id }, function (data) {
                if (data == 1) {
                    debugger;
                    alert("Deletion Done");

                }
                else {

                    alert("error");
  }   
 });
 });


**controller method**

 public ActionResult deletecomment(int id)
        {
            var v = (dd.usercomments.Where(m => m.id == id).Select(m => m)).FirstOrDefault();
            if (v != null)
            {

                dd.usercomments.DeleteOnSubmit(v);
                dd.SubmitChanges();
                return Json("1", JsonRequestBehavior.AllowGet);

            }
            else
            {
                return Json("0", JsonRequestBehavior.AllowGet);

            }



        }

HTML

<h5 style="background-color:#808080;font-family:'Cambria Math';text-align:center;padding-top:1px;margin-right:16px;margin-top:5px">Comments Posted by User</h5>
@foreach( var item in Model)
{
<div class="parentd" id="@item.id" style="border:1px solid black;font-size:large;font-family:'Times New Roman';margin-right:6px;margin-bottom:2px">@item.userid
  <a class="hyp" href="@item.id" style="position:relative;width:10px;height:10px;padding-left:10%;display:none"><img src="~/images/del.jpg"  style="width:20px;height:20px"/></a><div class="@item.id" style="display:none">@item.comments</div>
     </div>
    }
  • 0
    покажи html
  • 0
    проверьте консоль браузера на наличие ошибок.
Показать ещё 4 комментария
Теги:
model-view-controller

1 ответ

0

Попробуйте следующее:

 $.get('admin/deletecomment', {id: id}, function (data) {
     if (data == 1) {
         debugger;
         alert("Deletion Done");
     } else {
         alert("error");
     }
 }, "json"); // as response is json

Когда вы возвращаете json из своего контроллера, чтобы вы могли это сделать.


Для тестового примера, если вы возвращаете json это должно быть чем-то вроде js-объекта с парами { key: value }.

поэтому, if (data == 1) { будет неправильной проверкой, вы должны проверить что-то вроде этого:

if (data.key == 1) { // only if you have something like { key : 1}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню