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");
}
}
매개 변수의 순서를 수정 해 보셨습니까? 서비스 메소드는 site, title 및 contentType 순서로 매개 변수를 받아들이지 만 title, site 및 contentType 순서로 전송합니다. 이 방법으로 해결할 수 있을지 모르지만 한 번 사용해 볼 가치가 있습니다. –
예, 죄송 합니다만 언급 했어야합니다. 매개 변수의 순서는 결과를 변경하지 않습니다. Title은 값을받는 유일한 인수입니다. – johnnyboy
시도해도 작동합니다. VS2010에서 WCF 서비스 응용 프로그램을 만들었고 JQuery 버전은 1.5.1입니다. 여기에 직감이 있습니다 : 사이트 이름과 contentType 이름을 바꿉니다. – LostInComputer