Звонок на сервис от Html - PullRequest
3 голосов
/ 30 ноября 2010

Я хочу вызвать веб-сервис asp.net из java-скрипта и передать ему параметры. Есть ли пример кода или демонстрация, которая поможет мне достичь этого ??заранее спасибо

Ответы [ 4 ]

2 голосов
/ 30 ноября 2010

Вы можете сделать это, используя AJAX, и получить ответ от сервера в виде объекта JSON.

    var xmlHttp = new ActiveXObject("Microsoft.XmlHttp");
    var url = "Service1.svc/ajaxEndpoint/";
    url = url + "Sum2Integers";
    var body = '{"n1":';
    body = body + document.getElementById("num1").value + ',"n2":';
    body = body + document.getElementById("num2").value + '}';

    // Send the HTTP request
    xmlHttp.open("POST", url, true);
    xmlHttp.setRequestHeader("Content-type", "application/json");
    xmlHttp.send(body);

    // Create result handler 
    xmlHttp.onreadystatechange= function X()
    {

         if(xmlHttp.readyState == 4)
         {
              result.innerText = xmlHttp.responseText;
         }
    }

Получение ответа в виде JSON поможет вам оценить его как объект, и вы сможете действовать с нимчерез JavaScript.

См. эти ссылки для справки: http://blogs.msdn.com/b/alikl/archive/2008/02/18/how-to-consume-wcf-using-ajax-without-asp-net.aspx

http://dotnetslackers.com/articles/ajax/JSON-EnabledWCFServicesInASPNET35.aspx

2 голосов
/ 30 ноября 2010

JQuery:

function AddLocation(ParentID) {
    $.ajax({
        type: "POST",
        url: "../server.asmx/Save",
        data: "{'ID':'0','ParentID':'" + ParentID + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
            var item = document.createElement('option');
            item.value = data.d.split("$")[0];
            item.text = name;
            //do stuff
        }
    });
}
2 голосов
/ 30 ноября 2010

jQuery поддерживает это поведение. вы можете использовать jQuery для выполнения вызова ajax, как показано ниже. этот метод имеет две функции обратного вызова для успеха и неудачи.

function loadData()
{
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        url: 'methodurl',
        success: methodSuccedded,
        error: methodFailure
    });
}

function methodSuccedded()
{
    //do your logic.
}

function methodFailure()
{
    //do your logic.
}
1 голос
/ 30 ноября 2010

Ссылка ниже - довольно приличный метод из моего опыта.

http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/

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