2012-06-02 3 views
1

내가 아주 기본적인 기능을 테스트하려고 처음으로 Ajax 기반 WCF 서비스를 사용하여 jQuery를에서 WCF 서비스를 AJAX 가능하게 호출 :여기 <p></p>는 Service.svc</strong> 내 서비스 파일 <strong>이다, asp.net

[ServiceContract(Namespace = "testService")] 
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
public class Service 
{ 
[OperationContract] 
public void DoWork(int id) 
{ 
    return; 
} 

[OperationContract] 
[WebInvoke] 
[WebGet] 
public string sting(int id) 
{ 
    string _sting = string.Format("Number is {0}" + id); 
    return _sting; 
} 

}

및 전화 jQuery를 사용하려고하지만,이과 :

$(function() { 
     $.ajax({ 
      type: "POST", 
      url: "Service.svc/sting", 
      data: '{"id":"3"}', 
      processData: false, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function() { 
       alert("success"); 
      }, 
      error: function (msg) { 
       $("#errorDiv").text(msg); 
      } 
     }); 
    }); 

하지만 난 항상 내가 잘못하고있는 무슨 [object Object]

과 오류, 감사

답변

2

두 가지 :

  1. 당신은 [WebGet]으로 웹 메소드를 정의하지만,로 전화 POST 요청을 Jquery Ajax 메소드에서 호출하십시오. 같은 [WebGet] 뭔가 교체 :

    [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json)]

  2. 나는 당신이 당신의 Web.config이 무엇인지 확실하지 않다, 그러나 당신은 당신의 엔드 포인트 행동이 올바르게 정의되어 있는지 확인해야합니다.

    도움이 될만한 web.config 파일을 게시 할 수있는 경우 여전히 도움이 필요한 경우.