JSON stringify返回null(C#WebBrowser控件)

时间:2017-03-14 16:10:06

标签: javascript c# json

我正在尝试将我的JSON对象的字符串表示形式返回给我的C#应用​​程序,但每次使用JSON.stringify(jsonObj)时,它都会将null返回给我的应用程序。我正在使用WebBrowser控件。

页面设置如下:

var myObj = { "foo": [] }
// Push data into it

function getMyObj() {
    return JSON.stringify(myObj);
}

在我的C#代码中,我有这个:

 string bar = myWebBrowser.MainBrowser.Document.InvokeScript("getMyObj").ToString();

但是,在调用该方法后,它将返回null。我甚至尝试在JavaScript页面中放置alert,我在getMyObj()内调用alert函数,但警报永远不会出现。

这是WebBrowser控制问题吗?应该支持JSON,浏览器使用的是IE11。

1 个答案:

答案 0 :(得分:1)

我使用了元标记来解决这个问题。显然WebBrowser Control默认为IE7。您可以更改注册表设置以更正此但我不想修改用户注册表设置。

这个问题帮助我找到了解决方案:Use latest version of Internet Explorer in the webbrowser control

<html>
<head>
    <meta http-equiv='X-UA-Compatible' content='IE=edge' >
...
</head>
<body>
...
<script>
    var myObj = { "foo": [] }
    // Push data into it

    function getMyObj() {
        return JSON.stringify(myObj);
    }
    </script>
</body>
</html>

希望这有帮助!