javascript를 사용하여 .net에서 웹 서비스를 호출하는 경우 웹 서비스 동작을 사용해야 합니다. 다음은 설명하기 위한 예시이며 비교적 간단합니다
. 1. 먼저<%@ WebService Language="C#" class=MyMath %>
와 같은 웹 서비스를 생성합니다
.
시스템 사용;
System.Web.Services 사용;
공개 클래스 MyMath {
[웹방법]
공개 int 추가(int a, int b)
{
a + b를 반환합니다.
}
[웹방법]
공개 int 빼기(int a, int b)
{
a - b를 반환합니다.
}
}
그런 다음 게시하고 먼저 wsdl을 가져옵니다.
2. 먼저 webbehavior.htc 파일을 다운로드해야 합니다( http://msdn.microsoft.com/downloads/samples/internet/behaviors/library/webservice/default.asp 로 이동 가능).
다운로드하여 웹의 현재 디렉터리에 넣은 후 webserice를 호출하려는 페이지에서 다음과 같이 수정합니다.
<본문>
여기서는 div ID에 의미 있는 이름을 지정하고 스타일을 웹 서비스 동작으로 지정합니다. 다음으로 webserice를 호출하기 위해 자바스크립트를 작성해야 합니다.
먼저, 자바스크립트에서 wsdladdservice.useService(" http://localhost/services/math.asmx?WSDL", "MyMath ")를 호출합니다.
id.useService(WSDLL 경로, 간단한 이름 지정 방법)를 사용하십시오.
앞서 설정한 id는 addservice였으며, 클라이언트가 이를 더 쉽게 호출할 수 있도록 MyMath라는 이름을 붙였습니다. webserice가 올바르게 호출될 수 있도록 하려면 다음과 같이 webservice 호출을 처리하는 javascript를 body의 onload 이벤트에 즉시 로드해야 합니다.
<스크립트 언어="자바스크립트">
함수 초기화()
{
addservice.useService(" http://localhost/services/math.asmx?WSDL","MyMath ") }
위의 경우 웹 서비스 동작을 통해 먼저 웹 서비스를 반환하는 wsdl을 가져옵니다. 다음으로 호출 형식은 다음과 같습니다. iCallID = id.FriendlyName.callService([CallbackHandler,] "MethodName" , 매개변수1, 매개변수2, ..);
여기서 id는 div에 설정한 ID이고 FridndbyName은 방금 이름을 지정한 애스펙트 이름입니다. 여기서는 MyMath이고 CallbackHandler는 콜백 함수의 프로세스 이름입니다. 설정이 없으면 기본값은 onresult를 사용하는 것입니다. 이 메서드는 아래에서 설명할 처리에 사용되며 param1, param2 등은 다음과 같은 수신 매개변수를 참조합니다.
참고로 onresult 메소드를 사용하여 반환하는 경우 div 부분의 onresult에 처리 방법을 지정해야 하며, 여기서는 반환된 정보를 사용하여 오류가 있는지 확인하는 데 사용됩니다. 오류가 발생하면 표시됩니다.
콜백을 사용하는 경우 다음과 같이 진행하십시오.