>source

ASP.net MVC로 작업하고 JavaScript 코드 아래에서 "오류"가 발생합니다.

이것은 내 AJAX jQuery 코드입니다.

$(document).ready(function () {
    var dataId;
    $(".item2 .small-img").click(function () {
        dataId = $(this).data("id");
        var url = '@Url.Action("DecorationTest", "Carpet")' + "?Id=" + dataId + "&title=" + '@Url.ToFriendlyUrl(Model.Title.ToString())';
        $('#dateLink').prop('href', url);
        
            $.ajax({
                url: '/Carpet/CheckCarpet',
                type: 'POST',
                dataType: 'Json',
                data: '{"CarpetImageid":"' + dataId + '"}',
                contentType: 'application/json; charset=utf-8',
                success: function (data) {
                    if (data.Success == false)
                        $('#dateLink').hide();
                    else
                        $('#dateLink').show();
                    alert("Success");
                },
                error: function (errorThrown) {
                    alert("Error");
                }
            });

그리고 이것은 컨트롤러 코드입니다.

  [HttpPost]
    public ActionResult CheckCarpet(int CarpetImageid)
    {
        bool DecorShow = false;
        DecorShow = db.Images.Where(x => x.Id == CarpetImageid).FirstOrDefault().DecorTest;
        return Json(new JsonData { Success= DecorShow });
    }

이유가 뭐야? 누군가 알아?


  • 답변 # 1

    해결책을 찾았습니다. url@Url.Action("CheckCarpet", "Carpet") 고정.

    $(".small-img").click(function () {
                dataId = $(this).data("id");
                var url = '@Url.Action("DecorationTest", "Carpet")' + "?Id=" + dataId + "&title=" + '@Url.ToFriendlyUrl(Model.Title.ToString())';
                $('#dateLink').attr('href', url);
            $.ajax({
                url:'@Url.Action("CheckCarpet", "Carpet")',
                type: 'Post',
                dataType: 'Json',
                data: '{"CarpetImageid":"' + dataId + '"}',
                contentType: 'application/json; charset=utf-8',
                success: function (result) {
                    if (result.Success == false) {
                        $('#dateLink').hide();
                        $('.p2').hide();
                    }
                    else {
                        $('#dateLink').show();
                        $('.p2').show();
                    }
                },
                error: function (error) {
                    alert(error.d);
                }
            });
        });
    
    

  • 이전 c# - 단일성 - setactive가 정의되지 않았습니다
  • 다음 reactjs - Redux 개발 도구를 수정하는 방법?