Javascript 직접 호출 서버 C\#코드 ASP.NET Ajax 인 스 턴 스
1. 웹 사 이 트 를 만 들 고 WCF 서 비 스 를 추가 합 니 다(여 기 는 Ajax-Enabled WCF Service 를 선택해 야 합 니 다).다음 그림 과 같 습 니 다.
2. IDE 는 자동 으로 SVC 파일 을 생 성 합 니 다.대외 인터페이스 이 고 SVC 에 대응 하 는 배경 구현 클래스 입 니 다.이 파일 은 App 에 놓 입 니 다.코드 아래,아래 그림 과 같이:
3.이러한 종류의 코드 를 수정 합 니 다.다음 과 같 습 니 다.
[ServiceContract(Namespace = "TestAjax")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service
{
[OperationContract]
public bool ValidateUser(string uid, string pwd)
{
if (uid=="sa"&&pwd=="sa")
{
return true;
}
return false;
}
}
4.이제 우 리 는 페이지 에서 호출 할 수 있 습 니 다.먼저 페이지 에 ScriptManager 를 추가 하고 우리 가 방금 작성 한 WCF WebService(실행 할 때 JS 의 프 록 시 클래스 를 생 성 하 는 것 이 목적 입 니 다)를 도입 합 니 다.다음 과 같 습 니 다.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="~/Service.svc"/>
</Services>
</asp:ScriptManager>
</div>
</form>
</body>
</html>
5.다음은 JS 코드 를 작성 하여 C\#로 작 성 된 WebService 를 직접 호출 할 수 있 습 니 다.JS 코드 는 다음 과 같 습 니 다.
<script type="text/javascript">
function ValidateUser(uid, pwd) {
TestAjax.Service.ValidateUser(uid,pwd,OnSucceed ,OnFailed );
}
function OnSucceed(result) {
if (result == true) {
window.alert(" ");
}
else {
window.alert(" !");
}
}
function OnFailed(result) {
window.alert(" :"+result ._message);
}
</script>
6.여기 서 TestAjax.Service.ValidateUser 방법 을 호출 할 때 코드 에서 이 함수 의 반환 값 을 직접 찾 지 않 았 습 니 다.이러한 방안 을 이용 하여 서버 함수 에 대한 호출 은 모두 비동기 적 이 고 정확 한 처리 방법 은 두 개의 리 셋 함수 OnSucceed 와 OnFailed 를 지정 하 였 습 니 다.첫 번 째 함 수 는 성공 시의 리 셋 입 니 다.다음 하 나 는 실패 할 때의 리 셋 입 니 다.이 두 함 수 는 모두 하나의 매개 변수 가 필요 합 니 다.OnSucceed 의 매개 변 수 는 서버 함수 의 리 턴 값 입 니 다.OnFailed 의 매개 변 수 는 실패 할 때의 오류 정보 입 니 다.기능 은 Exception 형식 과 같 습 니 다.그 중에서message 속성 중 오류 메시지,stackTrace 에서 오류 가 발생 한 스 택 추적 정보 입 니 다.7.이런 반전 방법 은 절대 귀 찮 게 하지 마 세 요!사실 이것 은 일반적인 비동기 반전 모델 로 대부분 상황(어떤 언어 든)은 이렇게 쓸 것 이다!8.페이지 의 전체 코드 는 다음 과 같다.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function ValidateUser(uid, pwd) {
TestAjax.Service.ValidateUser(uid,pwd,OnSucceed ,OnFailed );
}
function OnSucceed(result) {
if (result == true) {
window.alert(" ");
}
else {
window.alert(" !");
}
}
function OnFailed(result) {
window.alert(" :"+result ._message);
}
function Button1_onclick() {
var uid = $get("tbxUid").value;
var pwd = $get("tbxPwd").value;
ValidateUser(uid,pwd);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="~/Service.svc"/>
</Services>
</asp:ScriptManager>
</div>
:<input id="tbxUid" type="text" /><br />
: <input id="tbxPwd" type="text" />
<input id="Button1" type="button" value=" " onclick="return Button1_onclick()" />
</form>
</body>
</html>
9.실행 결 과 는 다음 과 같다.사용자 이름과 비밀번호 가 모두 sa 일 때 인증 을 통 해 사용자 이름과 친구 가 sa 가 아 닐 때 검증 을 통과 할 수 없다. 10.질문 있 으 면 이메일 로 보 내 주세요[email protected]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java에서 json과 프론트 데스크톱 Ajax 데이터의 상호작용을 사용하는 방법본고는 주로 여러분에게 Ajax가 Json 데이터를 표시하는 방법을 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 1. 먼저 프론트에서 Ajax를 사용합니다. 그 중에서 데이터 type은 반드시 jso...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.