1.WebService 쓰기 인터페이스
단계 : 새로운 웹 프로젝트 = 만들기 "= 웹 서비스를 추가"인터페이스 방법을 쓰기 = "다음 해제 (현지 테스트를 직접 업이 웹 서비스를 넣고 실행 할 수 있습니다).
키 외부 Ajax 호출을하는 방법.
첫째, 바이두를 이해할 수없는, 제 3자가 (직접 확인에 붙여 의해 테스트) 인터페이스 메서드를 호출 할 수 있도록 (Web.config의) 붉은 부분을 구성해야 WebService에 프로젝트 구성 파일을 구성합니다.
< 구성 > < system.web > < 웹 서비스 > < 프로토콜 > < 추가 이름 = "HttpSoap" /> < 추가 이름 = "HttpPost" /> < 추가 이름 = "HttpGet" /> < 추가 이름 = "설명서" /> </ 프로토콜 > </ 웹 서비스 > < 컴파일 디버그 = "true"를 targetFramework = "4.0" /> </ system.web > < 의 system.webServer > < httpProtocol > < customHeaders > < 추가 이름 = "액세스 제어 - 허용 - 방법" 값 = "옵션을, POST는 GET" /> < 추가 이름 = "액세스 제어 - 허용 - 헤더" 값을 = "X가 요청한 -와, 콘텐츠 유형" /> < 추가 이름 = "액세스 제어 - 허용 - 유래" 값 = "*" /> </ customHeaders > </ httpProtocol > </ 시스템.웹 서버 > </ 구성 >
Ajax 호출에 대한) 2, 둘째, 여기 WebService에 코드 섹션을 기록하고, 여기에 내가이 사람에 사용자 지정 컬렉션 GetPersonList를 (반환한다.
(1) 출시 [WebService를 (네임 스페이스 = "http://192.168.1.90:5555/")]// 정의 도메인 주소를 여기에 게시 한 후 때 구성해야합니다. 물론, 당신은 로컬 호스트 로컬 테스트를 사용하거나 기본이 될 수 사용할 수 있습니다.
(2) [System.Web.Script.Services.ScriptService] 릴리스한다.
이 두 단계는, 인터페이스 릴리스 WebService에 쓰기 할 주소 http://192.168.1.90:5555/XXX.asmx에 액세스 할 수 있습니다.
에있어서, 상기 이용하는 단계; 사용 System.Collections.Generic; 사용을 System.Linq; 상기 System.Web를 사용하여, 상기 System.Web.Services을 사용함; MyWebService를 네임 스페이스를 { /// < 요약 > MyWebService를 요약의 /// /// </ 요약 > [WebService에 (네임 스페이스 = "HTTP : // 로컬 호스트 : 47737 /")] [WebServiceBinding (conformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem (거짓)]를 // 스크립트에서 ASP.NET AJAX의 사용을 허용하려면 이 웹 서비스를 호출, 다음 줄의 주석. [System.Web.Script.Services.ScriptService] 공용 클래스 MyWebService를 다음 System.Web.Services.WebService { [의 WebMethod] 공공 문자열하여 HelloWorld () { 반환에 "Hello World"; } [의 WebMethod] 공중 INT 애드온 (INT NUM1, INT NUM2) { 복귀 NUM1 NUM2 +; } } }
3. 타사 Ajax 호출.
$ 아약스 ({
URL : "HTTP : // 로컬 호스트 : 47737 / MyWebService.asmx 추가 /"
유형 : "POST",
데이터 : "{ 'NUM1': 2, 'NUM2'5}",
ContentType을 " 응용 프로그램 / JSON ",
dataType와"JSON ",
성공 : 기능 (데이터) {
경고 (data.d);
},
오류 : 함수 () {
경고 ("!发送아약스请求失败");
}
});
포스트 스크립트 :
1) Ajax 요청 헤더는 콘텐츠 유형을 통해 제공되며, '애플리케이션 / JSON은 " 문자열 복귀 JSON 같이 표시되며,이 오류의 웹 서비스에 대응하는 상기 GET 요청은 콘텐츠 유형 GET / POST 요청을 제거한 후, 정확하게 수행 할 수있다 하지만 XML이 아닌 JSON을 반환합니다.
'응용 프로그램 / JSON : 요청이 웹 서비스해야 얻을 경우 2), ScriptMethod는 대신 콘텐츠 형식을 통해 제공되는 XML을 반환해야 액세스의 web.config 구성의 GET / POST, 속성 UseHttpGet = TRUE를 지정해야합니다 ' 위로 JSON, 그래서 요청이 잘못 얻을.