Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 试图解析C中序列化的JSON时出现问题#_Javascript_C#_Json_Serialization - Fatal编程技术网

Javascript 试图解析C中序列化的JSON时出现问题#

Javascript 试图解析C中序列化的JSON时出现问题#,javascript,c#,json,serialization,Javascript,C#,Json,Serialization,我正在尝试将数据从C#发送到JS。我以这种方式序列化它: protected void Page_Load(object sender, EventArgs e) { Mydata mydata = new Mydata(); mydata.name = "john"; var json = new JavaScriptSerializer().Serialize(mydata); Context.Re

我正在尝试将数据从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));
            }
        }
    }
它引发了以下错误:“uncaughtsyntaxerror:意外标记<在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>
{“name”:“john”}
当然,问题是JSON数据正下方的HTML。你知道怎么压制它吗


谢谢

首先尝试将内容类型设置为json:

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

您不应该尝试使用页面发送数据。或者处理程序更合适。请尝试context.Response.ContentType=“application/json;charset=utf-8”;谢谢!它做到了这一点,但做了一个小改动:Context.Response.Write(json);哦,是的,是json,对不起,我想补充一点,我特别喜欢这个解决方案,因为我不必使用全新的实现(webmethod);相反,我可以使用常规页面实现。:-)@YanKleber a System.Web.UI.Page实现了IHttpHandler,但添加了许多您不需要的负担。这可能对您来说是最简单的(稍微简单一点),但在我看来,毫无理由地创建贯穿页面生命周期的内容是一种糟糕的做法。