<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FetchJSON.aspx.cs"
Inherits="FetchJSON" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Pobieranie danych w formacie JSON</title>
<script language="javascript" type="text/javascript"
src="xmlhttp.js"></script>
<script language="javascript" type="text/javascript">
    var xmlHttp = false;
    function LoadItemNames() {
        getXmlHttpRequestObject();
        xmlHttp.open("GET", "Items.txt", true);
        xmlHttp.onreadystatechange = function()
        {
            if (xmlHttp.readyState == 4) {
                // Jeśli kod stanu HTTP to 200, tzn., jeśli żądanie jest w porządku.
                if (xmlHttp.status == 200) {
                    var sJson = xmlHttp.responseText;
                    sJson = eval("(" + sJson + ")");
                    // Referencja do znacznika <select> – ddlItems.
                    var ddlItems = document.getElementById("ddlItems");
                    for(var i = 0; i < sJson.Items.length; i++) {
                        // Tworzy nowy element <option>.
                        var newOption =
                        document.createElement('option');
                        // Przypisuje wartość i tekst do nowego znacznika.
                        newOption.value = sJson.Items[i].Name;
                        newOption.text = sJson.Items[i].Name;
                        // Dodaje nowy element w znaczniku <select> ddlItems.
                        ddlItems.options.add(newOption);
                    }
                }
            }
        }
        xmlHttp.send(null);
    }
        function LoadItemText() {
        getXmlHttpRequestObject();
        xmlHttp.open("GET", "Items.txt", true);
        xmlHttp.onreadystatechange = function()
        {
                if (xmlHttp.readyState == 4) {
                    // Jeśli kod stanu HTTP to 200, tzn., jeśli żądanie jest w porządku.
                    if (xmlHttp.status == 200) {
                    document.getElementById("lblText").innerText = xmlHttp.responseText;
                }
            }
        }
        xmlHttp.send(null);
    }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <input type="button" id="btnLoadItemNames"
value="Załaduj dane"
onclick="LoadItemNames();" />&nbsp;
<span id="spnItemNames">Item</span>
        <select id="ddlItems">
            <option value="">—————-</option>
        </select><br /><br />
        <input type="button" id="btnLoadItemText"
value="Załaduj JSON jako tekst"
onclick="LoadItemText();" />&nbsp;
        <div id="lblText"></div>
    </form>
</body>
</html>
