繁体   English   中英

尝试解析在 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));
            }
        }
    }

它引发了以下错误:“Uncaught SyntaxError: Unexpected token < in 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();       

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM