jquery回调函数无法正常工作

时间:2014-06-09 09:29:56

标签: jquery model-view-controller

我有一个超链接,我在我的控制器中调用一个删除方法的click事件(使用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>
    }

1 个答案:

答案 0 :(得分: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,那么这必须类似于{ key : value }对的js对象。

所以if (data == 1) {将是一个错误的检查,而你必须检查这样的事情:

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