jQuery+ajax를 사용하여 WCF 서비스를 호출하는 단계에 대한 자세한 설명

php中世界最好的语言
풀어 주다: 2018-04-23 17:46:31
원래의
2068명이 탐색했습니다.

이번에는 jQuery+ajax에서 WCF 서비스를 호출하는 단계에 대해 자세히 설명하겠습니다. jQuery+ajax에서 WCF 서비스를 호출하는 주의사항은 무엇인가요?

이 문서의 예에서는 jQuery가 Ajax를 구현하여 WCF 서비스를 호출하는 방법을 설명합니다. 참고로 자세한 내용은 다음과 같습니다.

AJAX 호출 WCF 서비스에는 교차 도메인 호출과 비 교차 도메인 호출이라는 두 가지 방법이 있습니다. 방법. DEMO는 VS2008로 작성되었습니다.

테스트 및 조사 결과 AJAX는 WCF 서비스를 호출할 때 다음 조건을 충족해야 하는 것으로 나타났습니다.

1 wcf의 통신 방법은 webHttpBinding
2을 사용해야 합니다. 노드를 설정해야 합니다
3. 서비스 구현 시 mark

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
로그인 후 복사

4를 추가해야 합니다. ajax 메소드에 전달된 매개변수 이름은 매개변수 메소드와 일치해야 합니다. wcf 서비스에서 제공하는 이름

다음은 제가 작성한 코드와 마크의 색상입니다. 주의가 필요한 것은

서버 측

구성 파일

코드

서버 측 코드

<system.serviceModel> 
  <services> 
   <service name="WcfServiceDemoOne.Service1" behaviorConfiguration="WcfServiceDemoOne.Service1Behavior"> 
    <!-- Service Endpoints --> 
  <endpoint address="" binding="webHttpBinding" contract="WcfServiceDemoOne.IService1" behaviorConfiguration="HttpBehavior"></endpoint> 
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
    <host> 
     <baseAddresses> 
      <add baseAddress="http://localhost:12079/Service1.svc"/> 
     </baseAddresses> 
    </host> 
   </service> 
  </services> 
  <behaviors> 
   <serviceBehaviors> 
    <behavior name="WcfServiceDemoOne.Service1Behavior"> 
     <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点--> 
     <serviceMetadata httpGetEnabled="true"/> 
     <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息--> 
     <serviceDebug includeExceptionDetailInFaults="false"/> 
    </behavior> 
   </serviceBehaviors> 
  <endpointBehaviors> 
  <behavior name="HttpBehavior"> 
   <webHttp/> 
  </behavior> 
  </endpointBehaviors> 
  </behaviors> 
</system.serviceModel>
로그인 후 복사

구현 코드

[ServiceContract] 
 public interface IService1 
 { 
  [OperationContract] 
  string GetData(int value); 
  [OperationContract] 
  City GetDataUsingDataContract(City composite); 
   [OperationContract] 
  List<City> GetList(); 
   [OperationContract] 
  List<City> GetListData(List<City> list); 
 } 
 // 使用下面示例中说明的数据约定将复合类型添加到服务操作。 
 [DataContract] 
 public class City 
 { 
  int seq = 0; 
  string cityID; 
  string ctiyName; 
   [DataMember] 
  public string CityID 
  { 
   get 
   { 
    return cityID; 
   } 
   set 
   { 
    cityID=value; 
   } 
  } 
  [DataMember] 
  public string CityName 
  { 
   get { return ctiyName; } 
   set { ctiyName = value; } 
  } 
  [DataMember] 
  public int Seq 
  { 
   get 
   { return seq; } 
   set 
   { seq = value; } 
  } 
}
로그인 후 복사

클라이언트입니다. Calling code

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
 public class Service1 : IService1 
 { 
  [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] 
  public string GetData(int value) 
  { 
   return string.Format("You entered: {0}", value); 
  } 
  #region IService1 成员 
  [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)] 
  public City GetDataUsingDataContract(City composite) 
  { 
   City c = new City(); 
   c.CityID = composite.CityID; 
   c.CityName = composite.CityName; 
   c.Seq = composite.Seq; 
   return c; 
  } 
  [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)] 
  public List GetList() 
  { 
   List list = new List(); 
   City cc = new City(); 
   cc.CityID = "1"; 
   cc.CityName="北京"; 
   cc.Seq = 3; 
   list.Add(cc); 
   City cc1 = new City(); 
   cc1.CityID = "2"; 
   cc1.CityName = "上海"; 
   cc1.Seq = 4; 
   list.Add(cc1); 
   return list; 
  } 
  [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)] 
  public List GetListData(List list) 
  { 
   return list; 
  } 
  #endregion 
}
로그인 후 복사

이 글의 사례를 읽으신 후 방법을 마스터하셨다고 믿습니다. 더욱 흥미진진한 PHP 중국어 웹사이트에서 다른 관련 글도 주목해주세요!

추천 자료:

페이지 너비와 높이를 가져오는 jQuery의 방법 요약

JS+jQuery를 사용하여 등록 정보를 확인하는 방법


jQuery로 라디오 값을 가져오는 단계에 대한 자세한 설명

위 내용은 jQuery+ajax를 사용하여 WCF 서비스를 호출하는 단계에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿