-3

嗨,我在本地编码 JSON,我无法看到结果。我听说在本地编码时这可能是一个问题,这是真的吗,如果是的话,有没有办法解决这个问题,而无需每五分钟左右将其上传到服务器。

页面调用代码(default.cshtml)

<script type="text/javascript">
    function ajax_get_json(){
        var hr = new XMLHttpRequest();
        hr.open("GET", "JSON.cshtml", true);
        hr.setRequestHeader("Content-type", "application/json", true);
        hr.onreadystatechange = function(){
            if(hr.readyState == 4 && hr.status == 200){
                var data = JSON.parse(hr.responseText);
                var result = document.getElementById("results");
                result.innerHTML = "";
                for(var obj in data){
                    result.innerHTML += data[obj].item + "<br/>";
                }
            }
        }
        hr.send(null);
        result.innerHTML = "requesting...";
    }
</script>

<div>
    <script type="text/javascript">ajax_get_json();</script>
</div>

被调用页面上的代码 (JSON.cshtml)

{
@{
    var connection = DatabaseConnection.createConnection();
    int count = 0;
    DatabaseConnection.openConnection(connection);
    foreach(Varer v in Varer.getListAll(connection))
    {
        if(count > Varer.getListAll(connection).Count)
        {
            int id = v.id;
            string navn = v.navn;

            <text>
                "ul@v.id":{ "item":"@v.navn" },
            </text>
        }
        else
        {
            <text>
                "ul@v.id":{ "item":"@v.navn" }
            </text>
        }
    }
    DatabaseConnection.closeConnection(connection);
}
}

这两个页面在同一级别。并使用 cshtml 编码

4

1 回答 1

1

没有问题,只要您不尝试使用 AJAX / WebSockets / 等等,将其放入您的程序中。

如果您手动键入:

var json = "{\"name\":\"Bob\",\"age\":32}",
    data = JSON.parse(json);

data.name;

它会工作得很好。

只要它是有效的,你如何构造这个 JSON 就完全不重要了。
只是不要指望能够在 AJAX 调用中得到它。

于 2013-04-10T13:10:09.367 回答