Ajax POST请求不显示警报

时间:2017-02-22 08:16:37

标签: javascript c# jquery ajax asp.net-mvc

我使用此代码删除评论。

但是当我删除评论时,它不会向我显示成功警报。问题是什么?

function DeleteComment(id) {
        jQuery.ajax({
            url: "/Admin/Comment/DeleteComment/" + id,
            dataType: 'json',
            success: function (data) {
                if (data === true) {
                    alert("نظر مورد نظر با موفقست حذف گردید");
                } else {
                    alert("خطایی رخ داده ، نظر حذف نشد . لطفا خطا را بررسی کنید");
                }
            }
        });
    }

**编辑**

public JsonResult DeleteComment(int id)
    {
        var deletecomment = _CommentService.CommentByID(id);
        if (_CommentService.RemoveComment(deletecomment))
        {
            return Json(true);
        }
        else
        {
            return Json(false);
        }
    }

1 个答案:

答案 0 :(得分:1)

如果您的请求方法为GET,则必须使用JsonRequestBehaviour.AllowGet,如下所示:

return Json(true,JsonRequestBehaviour.AllowGet);

如果您查看console,则会看到错误。

  

为什么需要JsonRequestBehaviour.AllowGet?

这是为了防止使用HTTP GET.

返回数据的JSON请求进行非常具体的攻击

默认情况下,MVC框架不允许您使用GET对象回复JSON请求方法,但是,如果您需要发送JSON作为响应对于GET动词,您必须使用JsonRequestBehaviour.AllowGet