我正在尝试将我的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。
答案 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>
希望这有帮助!