0

我用 c# 创建了一个简单的 selfhost,其中:

public JObject Get()   
{          
    jsonOut = @"{""server"": ""10.0.0.1"" }";
    return JObject.parse(jsonOut);
}

当我尝试在 Web 浏览器中打开 url http://localhost:2000/api/test时,正确地看到响应 json: {"server": "10.0.0.1" }。创建网页后:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtdlocalhost">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>test</title>
    <meta name="description" content="Portale per Webmaster">
    <meta name="keywords" content="HTML,CSS,JavaScript,PHP,ASP">
    <meta http-equiv="refresh" content="900">
    <script type="text/JavaScript">

        function ajaxRequest() {

            var xmlhttp = new XMLHttpRequest();
            var url = "http://10.1.3.62:2000/api/test";

            xmlhttp.onreadystatechange = function() {

                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    var json=eval("("+xmlhttp.responseText+")");
                    document.getElementById("info").innerHTML = json.server;
                }
            }
            xmlhttp.open("GET", url, true);
            xmlhttp.send();
        }

        window.onLoad = ajaxRequest();
        setInterval(ajaxRequest, 2000);
    </script>
</head>
<body>
    <div id="info"></div>
</body>
</html>

但我没有看到任何变化,并且在 firefox 的开发工具中出现以下错误:

SyntaxError: JSON.parse: JSON 数据的第 1 行第 1 列的数据意外结束

为什么不工作?

谢谢

4

1 回答 1

0

我的建议是使用 AJAX 来读取 JSON 格式,我重写代码如下:

            var senderData = { id: "1" }

            $.ajax({
                type: "POST",
                url: "http://10.1.3.62:2000/api/test",
                processData: false,
                contentType: "application/json; charset=utf-8",
                data: JSON.stringify(senderData),

                success: function (response) {

                    var items = eval(response.d);


                },
                error: function (error) {
                    console.log(error);
                }

            });
于 2016-03-30T15:22:48.410 回答