jQuery를 사용하여 ASP.NET 웹 서비스를 호출하는 방법은 무엇입니까?
jQuery를 사용하여 ASP.NET 웹 서비스(SharePoint Server 2007 lists.asmx)에서 데이터를 가져오려고 하지만 웹 서비스에 대한 호출은 이러한 방향의 첫 번째 단계로 정말 도움이 될 것입니다.
저는 매개 변수를 보낼 수 있도록 이 방법을 래퍼로 사용합니다.또한 메소드의 맨 위에 있는 변수를 사용하면 메소드를 더 높은 비율로 최소화할 수 있으며 유사한 호출을 여러 번 할 때 일부 코드를 재사용할 수 있습니다.
function InfoByDate(sDate, eDate){
var divToBeWorkedOn = "#AjaxPlaceHolder";
var webMethod = "http://MyWebService/Web.asmx/GetInfoByDates";
var parameters = "{'sDate':'" + sDate + "','eDate':'" + eDate + "'}";
$.ajax({
type: "POST",
url: webMethod,
data: parameters,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$(divToBeWorkedOn).html(msg.d);
},
error: function(e){
$(divToBeWorkedOn).html("Unavailable");
}
});
}
이를 위해서는 3.5 프레임워크가 이러한 방식으로 소비될 수 있는 JSON 웹 메소드를 노출시켜야 한다는 점에 유의하시기 바랍니다.
다음은 jQuery.get을 사용하여 웹 서비스를 호출하는 예입니다.
$.get("http://domain.com/webservice.asmx", { name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
});
위의 예제에서는 "webservice.asmx"를 호출하여 이름과 시간이라는 두 가지 매개 변수를 전달합니다.그런 다음 콜백 기능에서 서비스 출력을 가져옵니다.
특정 쉐어포인트 웹 서비스에 대해서는 모르지만 페이지 메소드나 웹 서비스를 다음과 같이 장식할 수 있습니다.<WebMethod()>
(VB.NET에서) JSON에 직렬화되도록 합니다.webservice.asmx가 내부적으로 사용하는 메서드를 사용자의 웹 서비스에 랩핑하면 됩니다.
데이브 워드는 이것에 대해 잘 알고 있습니다.
$.ajax({
type: 'POST',
url: 'data.asmx/getText',
data: {'argInput' : 'input arg(s)'},
complete: function(xData, status) {
$('#txt').html($(xData.responseXML).text()); // result
}
});
SPServices는 쉐어포인트의 웹 서비스를 추상화하고 사용하기 쉽게 해주는 jQuery 라이브러리입니다.
SharePoint 2007 인증을 받았습니다.
Lists.asmx에 대해 지원되는 작업 목록은 여기에서 찾을 수 있습니다.
예
이 예에서는 공지사항 목록의 모든 항목을 가져오고 작업에서 제목을 글머리 기호 목록에 표시합니다.UL div:
<script type="text/javascript" src="filelink/jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="filelink/jquery.SPServices-0.6.2.min.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$().SPServices({
operation: "GetListItems",
async: false,
listName: "Announcements",
CAMLViewFields: "<ViewFields><FieldRef Name='Title' /></ViewFields>",
completefunc: function (xData, Status) {
$(xData.responseXML).SPFilterNode("z:row").each(function() {
var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>";
$("#tasksUL").append(liHtml);
});
}
});
});
</script>
<ul id="tasksUL"/>
저는 jQuery AJAX 및 ASMX에서 smx 웹 서비스와 함께 jQuery AJAX 통화를 사용하는 것에 대한 적절한 예를 가지고 있습니다.
JSON을 반송하기 위해 코멘트를 취소해야 하는 코드 라인이 있습니다.
저는 jQuery와 함께 ajaxpro를 꽤 자주 사용합니다. ajaxpro를 사용하면 자바스크립트에서 .NET 함수를 호출할 수 있고 나머지는 jQuery를 사용합니다.
언급URL : https://stackoverflow.com/questions/230401/how-to-use-jquery-to-call-an-asp-net-web-service
'programing' 카테고리의 다른 글
런타임에 프로그래밍 방식으로 요약 주석 가져오기 (0) | 2023.06.28 |
---|---|
CreateObject("Excel") 간의 차이입니다.애플리케이션").문제집.워크북을 열고 작업장만 엽니다.열다. (0) | 2023.06.28 |
이동 평균 계산 (0) | 2023.06.28 |
블록 안에 있는 ";"는 무엇을 의미합니까? (0) | 2023.06.28 |
Oracle 모든 외부 키 참조 (0) | 2023.06.28 |