尝试解析在 C# 中序列化的 JSON 的问题

Issue trying to parse JSON serialized in C#

我正在尝试将数据从 C# 发送到 JS。我是这样序列化的:

 protected void Page_Load(object sender, EventArgs e)
    {
        Mydata mydata = new Mydata();
        mydata.name = "john";
        var json = new JavaScriptSerializer().Serialize(mydata);
        Context.Response.Write(json);
    }

在 JS 方面,我正在这样做:

 page_request.onreadystatechange = function () {
        if (page_request.readyState == 4) {
            if (this.status == 200) {
                console.log(JSON.parse(page_request.responseText));
            }
        }
    }

它引发了以下错误:“未捕获的语法错误:JSON 中的意外标记<”

我的回复文本是:

{"name":"john"}

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>

</title></head>
<body>
    <form method="post" action="./SaveMinimum.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="aWjLtFUtylw6y57ZUALh7nrMIi/DnQX9NMokkMybnU3A5NV7mFW+00LcRuAJMPXWebf4w6HiyjI+7iXZoGyVB5Scq1g=" />
</div>

<div class="aspNetHidden">

    <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="EF9FB8B6" />
</div>
        <div>
        </div>
    </form>
</body>
</html>

可以肯定的是,问题出在 JSON 数据正下方的 HTML。知道如何抑制它吗?

谢谢!

首先尝试将 Content-Type 设置为 json:

    Context.Response.ContentType = "application/json; charset=utf-8";
    Context.Response.Write(json);
    Context.Response.End();