Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jquery + wcf, вывести результат на странице вместо диалогового окна (https://javascript.ru/forum/jquery/33051-jquery-wcf-vyvesti-rezultat-na-stranice-vmesto-dialogovogo-okna.html)

efes 08.11.2012 18:07

jquery + wcf, вывести результат на странице вместо диалогового окна
 
Привет всем!

Подскажите новичку, пожалуйста.

есть функция WCFJSON

Код:

function WCFJSON() {
    var userid = "2";
    Type = "POST";
    Url = "Service.svc/GetUser";
    Data = '{"Id": "' + userid + '"}';
    ContentType = "application/json; charset=utf-8";
    DataType = "json"; varProcessData = true;
    CallService();
}

вызывается когда документ готов:

Код:

$(document).ready(
    function () {
        WCFJSON();
    }
);


в результате успешно отображается диалоговое окно с результатом.

А как можно вывести результат на странице вместо диалогового окна?
Я так понимаю, нужно в теле страницы вызвать эту функцию?

Код:

<body>
<!--...-->
</body>

Подскажите синтаксис плз.

Полный текст html с jquery ниже:

Код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="jquery.js"></script>
  <script src="jqgrid_demo40/js/i18n/grid.locale-ua.js" type="text/javascript"></script>
  <script src="jqgrid_demo40/js/jquery.jqGrid.min.js" type="text/javascript"></script>

 
<script type="text/javascript">

    var Type;
    var Url;
    var Data;
    var ContentType;
    var DataType;
    var ProcessData;

function WCFJSON() {
    var userid = "2";
    Type = "POST";
    Url = "Service.svc/GetUser";
    Data = '{"Id": "' + userid + '"}';
    ContentType = "application/json; charset=utf-8";
    DataType = "json"; varProcessData = true;
    CallService();
}

// Function to call WCF  Service     
function CallService() {
    $.ajax({
        type: Type, //GET or POST or PUT or DELETE verb
        url: Url, // Location of the service
        data: Data, //Data sent to server
        contentType: ContentType, // content type sent to server
        dataType: DataType, //Expected data format from server
        processdata: ProcessData, //True or False
        success: function(msg) {//On Successfull service call
            ServiceSucceeded(msg);
        },
        error: ServiceFailed// When Service call fails
    });
}

function ServiceFailed(result) {
    alert('Service call failed: ' + result.status + '' + result.statusText);
    Type = null;
    varUrl = null;
    Data = null;
    ContentType = null;
    DataType = null;
    ProcessData = null;
}


function ServiceSucceeded(result) {
    if (DataType == "json") {
        resultObject = result.GetUserResult;

        for (i = 0; i < resultObject.length; i++) {
            alert(resultObject[i]);
        }

    }

}

function ServiceFailed(xhr) {
    alert(xhr.responseText);

    if (xhr.responseText) {
        var err = xhr.responseText;
        if (err)
            error(err);
        else
            error({ Message: "Unknown server error." })
    }

    return;
}

$(document).ready(
    function () {
        WCFJSON();
    }
);
</script>


  <style>img{ height: 100px; float: left; }</style>
</head>
<body>


  <!-- ... -->
</body>
</html>


Hoshinokoe 08.11.2012 19:10

efes,

Для начала научитесь пользоваться тегами HTML и JS для оформления кода на форуме.

function ServiceSucceeded(result) {
    if (DataType == "json") {
        resultObject = result.GetUserResult;

        for (i = 0; i < resultObject.length; i++) {
            $('body').append(resultObject[i] + "<br/>");
        }
    }

}


Часовой пояс GMT +3, время: 14:41.