Как использовать jQuery для вызова веб-службы ASP.NET? - PullRequest
63 голосов
/ 23 октября 2008

Я пытаюсь использовать jQuery для получения данных из веб-службы ASP.NET (SharePoint Server 2007 lists.asmx), но любой вызов веб-службы действительно поможет в качестве первого шага в этом направлении.

Ответы [ 7 ]

75 голосов
/ 28 января 2009

Я использую этот метод в качестве оболочки, чтобы я мог отправлять параметры. Кроме того, использование переменных в верхней части метода позволяет минимизировать его при более высоком соотношении и позволяет повторно использовать некоторый код при выполнении нескольких похожих вызовов.

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");
        }
    });
}

Надеюсь, это поможет.

Обратите внимание, что для представления веб-методов JSON, которые могут использоваться таким образом, требуется структура 3.5.

9 голосов
/ 23 октября 2008

Вот пример для вызова вашего веб-сервиса с использованием jQuery.get:

$.get("http://domain.com/webservice.asmx", { name: "John", time: "2pm" },
  function(data){
    alert("Data Loaded: " + data);
  });

В приведенном выше примере мы вызываем "webservice.asmx", передавая два параметра: имя и время. Затем получить сервисный вывод в функции обратного вызова.

3 голосов
/ 23 октября 2008

Я не знаю об этом конкретном веб-сервисе SharePoint, но вы можете украсить метод страницы или веб-сервис с помощью <WebMethod()> (в VB.NET), чтобы обеспечить его сериализацию в JSON. Вероятно, вы можете просто обернуть метод, который webservice.asmx использует внутри, в свой собственный веб-сервис.

У Дейва Уорда хорошее прохождение .

2 голосов
/ 03 августа 2011
$.ajax({
 type: 'POST',
 url: 'data.asmx/getText',
 data: {'argInput' : 'input arg(s)'},
 complete: function(xData, status) {
 $('#txt').html($(xData.responseXML).text()); // result
 }
});
1 голос
/ 06 мая 2013

SPServices - это библиотека jQuery, которая абстрагирует веб-службы SharePoint и упрощает их использование

Это сертифицировано для SharePoint 2007

Список поддерживаемых операций для Lists.asmx можно найти здесь

Пример

В этом примере мы собираем все элементы в списке объявлений и отображаем заголовки в маркированном списке в задачах. Div 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"/>
1 голос
/ 28 января 2009

У меня есть хороший пример в jQuery AJAX и ASMX об использовании вызова jQuery AJAX с веб-службами asmx ...

Есть строка кода, которая должна быть возвращена в JSON.

0 голосов
/ 04 декабря 2008

Я довольно часто использую ajaxpro вместе с jQuery. ajaxpro позволяет мне вызывать функции .NET из JavaScript, а для остальных я использую jQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...