2017-12-15 16 views
-1

정수 값 데이터가있는 html 목록을 가지고 있습니다. 이러한 정수를 컨트롤러에 게시하고 싶습니다. 그럼에도 불구하고 jquery 코드는 실제로 아무 것도하지 않습니다. 오류 메시지조차 나타나지 않습니다. jquery를 호출하는 버튼은 모달 상자에 있습니다. 여기Ajax 호출이 컨트롤러에 데이터를 게시하지 않습니다.

<script type="text/javascript"> 
$(function() { 
    $("#additem-dialog").dialog({ 
     modal: true, 
     autoOpen: false, 
     buttons: { 
      "Add": function() { 
       var proList = document.getElementsByClassName("proItem").value; 
       $.ajax({ 
        type: "POST", 
        url: '@Url.Action("SetTempList","Admin")', 
        data: JSON.stringify(proList), 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: function() { 
         alert('success!'); 
        }, 
        failure: function (response) { 
         alert(response); 
        } 
       }); 
       $("#search-form").submit(); 
      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 
     } 
    }); 
    $("#opener").on("click", function() { 
     $("#additem-dialog").dialog("open"); 
    }); 
}); 

및 컨트롤러 액션된다 다음은 코드가 내가 잘못이 무엇인지 모르는

[HttpPost] 
    public void SetTempList(List<int> proList) 
    { 
     TempData["detailList"] = proList.ToList(); 
    } 

, 나는 아약스 호출을 테스트하기 위해 다른 종류의 데이터를 시도, 그것은 여전히 ​​아무튼 일하지 마라.

+1

"아무 것도하지 않음"을 정의하십시오. JavaScript 코드가 전혀 실행됩니까? 브라우저에서 디버깅 할 때 어떻게됩니까? 브라우저의 디버깅 콘솔에 오류가 있습니까? AJAX 전화가 걸려 왔습니까? 예상되는 데이터가 포함되어 있습니까? 그 데이터는 무엇입니까? 서버의 응답은 무엇입니까? "아무것도하지 않는다"는 정보가 많지 않습니다. 아무 것도이 코드를 호출하지 않으면 문제가이 코드 외부에 있음을 분명히 알 수 있습니다. – David

+0

아약스 호출이 null 값을 리턴한다는 것을 알고있는 유일한 것 ... –

+0

서버 측 메소드의 리턴 유형은'void'입니다. 그래서 나는 그것이 가치를 반환 할 것이라고 기대하지 않을 것입니다. 'void '는 말 그대로 "이 메소드는 아무 것도 반환하지 않는다"는 것을 의미합니다. 정확하게 * 당신이 * 일어날 것을 기대하고 * 어떤 일이 일어나고 있습니까? – David

답변

-1

내가 볼 수있는 한 POST를 시도하는 URL은 문자열이거나 사용중인 프레임 워크로 대체 되었습니까?

POST가 올바른 URL로 전송되는지 확인하는 좋은 방법은 개발자 콘솔 (대부분의 브라우저에서 F12)을 사용하도록 설정하고 "추가"를 누른 후 네트워킹 탭을 확인하는 것입니다.

+0

잘 proList 읽을 수없는 문제를 발견했습니다, 어쨌든 덕분에 : D 조 –