2011-08-28 3 views
3

3 개의 문자열 인수가있는 WCF 서비스가 있습니다. jQuery와 JSON으로 호출하면 내 메소드에 도달하지만 인수 중 하나만 값을 포함하고 나머지는 전달 된 경우에도 null을받습니다. 어떤 생각?jQuery JSON WCF 사용

[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)] 
    public string Save(string site, string title, string contentType) 
    { 
     // method... 
    } 

JS :

    $.ajax(
         { 
         type: "POST", 
         url: "/Service.svc/Save", 
         dataType: "json", 
         data: "{\"title\": \"title...\", \"site\": \"site...\", \"contentType\": \"contentType...\"}", 
         contentType: "application/json; charset=utf-8", 
         success: function(data) { 
         }, 
         error: function() { 
          alert("Sorry, an error has occured"); 
         } 
         } 
+0

매개 변수의 순서를 수정 해 보셨습니까? 서비스 메소드는 site, title 및 contentType 순서로 매개 변수를 받아들이지 만 title, site 및 contentType 순서로 전송합니다. 이 방법으로 해결할 수 있을지 모르지만 한 번 사용해 볼 가치가 있습니다. –

+0

예, 죄송 합니다만 언급 했어야합니다. 매개 변수의 순서는 결과를 변경하지 않습니다. Title은 값을받는 유일한 인수입니다. – johnnyboy

+0

시도해도 작동합니다. VS2010에서 WCF 서비스 응용 프로그램을 만들었고 JQuery 버전은 1.5.1입니다. 여기에 직감이 있습니다 : 사이트 이름과 contentType 이름을 바꿉니다. – LostInComputer

답변

0

거짓 경보.

두 개의 누락 된 인수에 대한 인수 이름이 ServiceContract에서 서비스와 다릅니다. ServiceContract에있는 인수 이름이 아니라 서비스에 있었던 인수 이름을 사용하고있었습니다. 바보.

답장을 보내 주셔서 감사합니다.

+0

안녕하세요 @ johnyboy, 제발 jquery 수정 제발 언급 할 수있어! – Vikrant