jQuery를 사용하여 Asp.NET에서 Ajax를 구현하는 경우 aspx, ashx 및 WebService를 서버 측에서 사용할 수 있습니다. 최근에 WebService 메서드에 대해 연구했습니다. 이 게시물에서는 jQuery Ajax 메서드 호출 jQuery Ajax 메서드 호출 Asp.Net WebService에 대한 자세한 예제 코드를 제공하지만 자세한 설명은 제공하지 않습니다. 처음에는 신경쓰지 않았던 부분이 몇 가지 있었는데 해결하는데 많은 노력이 필요했습니다.
1) 클라이언트 데이터의 키 필드 이름은 서버와 엄격하게 일치해야 합니다- 사이드 메소드 매개변수.
예: 클라이언트:
//有参数调用 $(document).ready(function () { $("#btn2").click(function () { $.ajax({ type: "POST", contentType: "application/json", url: "WebService.asmx/GetWish", data: "{value1:'心想事成',value2:'万事如意',value3:'牛牛牛',value4:2009}", dataType: 'json', success: function (result) { $('#dictionary').append(result.d); } }); }); });
서버의 GetWish 함수 매개변수는 value1, value2, value3, value4로 작성되어야 합니다. :
[WebMethod] public string GetWish(string value1, string value2, string value3, int value4) { return string.Format("祝您在{3}年里 {0}、{1}、{2}", value1, value2, value3, value4); }
2) 클라이언트가 서버로 객체를 전송하는 방법:
클라이언트 코드:
//传入对象 $(function () { $("#btn6").click(function () { obj = new Object(); obj.ID = "1"; obj.Value = "aaa"; //'{"obj":{"ID":"1",Value:"Horse"}}' var d = '{"obj":' + JSON.stringify(obj) + '}'; $.ajax({ type: "POST", //访问WebService使用Post方式请求 contentType: "application/json", //WebService 会返回Json类型 url: "WebService.asmx/ParmsObject", //调用WebService的地址和方法名称组合 ---- WsURL/方法名 data: d, //这里是要传递的参数,格式为 data: "{paraName:paraValue}",下面将会看到 dataType: 'json', success: function (result) { alert(result.d); }, error: function (result) { alert("fail"); } }); }); });
서버 측 코드:
[WebMethod] public string ParmsObject(Class1 obj) { return obj.ID + ":" + obj.Value; }
디버그 환경: VS2010+jquery-1.3.2.min.js