2010-04-01 2 views
6

jQuery Ajax를 사용하여 데이터를 게시하려고하지만 Ajax 메서드의 매개 변수가 null입니다.Asp.Net MVC JQuery ajax 입력 매개 변수가 null입니다.

이 데이터를 보낼 수있는 간단한 테스트입니다 :

var dataPost = { titel: 'titel', message: 'msg', tagIds: 'hello' }; 
     jQuery.ajax({ 
      type: "POST", 
      url: "Create", 
      contentType: 'application/json; charset=utf-8', 
      data: $.toJSON(dataPost), 
      dataType: "json", 
      success: function(result) { 
       alert("Data Returned: "); 
      } 
     }); 

는 그리고 내 아약스 방법은 다음과 같습니다

[HttpPost] 
public ActionResult Create(string title, string message, string tagIds) 
{... } 

이 내가 보내는 데이터 뭔가 기본적인 잘못이지만, 그럴 수 없어 무엇을 알아 내라. 항상 title, message 및 tagIds가 null이므로 인코딩에 문제가있는 것입니다. 무엇이 있는지 모르겠습니다.

매개 변수 tagIds는 최적으로 guids의 배열 또는 목록이어야합니다.

참고 : jQuery.toJSON는 Create 컨트롤러 액션은 당신이하지 않아도 매개 변수를 JSON 직렬화를 기대하지 않습니다이 plugin

답변

14

입니다. 대신 직접 그들을 통과하십시오 :

var dataPost = { titel: 'titel', message: 'msg', tagIds: 'hello' }; 
jQuery.ajax({ 
    type: "POST", 
    url: "Create", 
    data: dataPost, 
    dataType: "json", 
    success: function(result) { 
     alert("Data Returned: "); 
    } 
}); 
+2

분명히 콘텐츠 유형이 좋지 않은 것 같습니다. – Dofs

+1

같은 문제는 모델 바인딩이 단순한 문자열에서 작동하지 않는 이유를 알아 내지 못했습니다 ... contentType을 json으로 설정했습니다. 그것을 제거한 후에, 훌륭한 일했습니다. – DavGarcia

0

우리는 여기에 contentType: 'application/json; charset=utf-8',$.toJSON

필요하지 않습니다 인 코드가 나를 행복하게!

$(function() { 
     $("#btnSumbit").click(function() { 
      $('#results').hide(); 
      $('#loadingmessage').show(); 
      var a = $("#query").val(); 

      $.ajax({ 
       type: "POST", 
       url: "/Search/Index", 
       data: ({ query: a }), 
       datatype: "json", 
       success: function (data) { 
        $('#results').empty(); 
        for (var i = 0; i < data.length; i++) { 
         var div = "<div>" + data[i].Name + "</div>"; 
         $("#results").append(div); 

        } 
        $('#loadingmessage').hide(); 
        $('#results').show(); 
       }, 
       failure: function (errMsg) { 
        $('#loadingmessage').hide(); 
        alert(errMsg); 
       } 
      }); 
     }); 
    }); 
관련 문제