首先,asp.net后台获取json是在服务器上进行的;而js获取json数据则完全是模拟客户端进行的。如果对于获取结果一样,当然没有什么区别。但是,有时候用户登录了某个网站,处于登录状态,有些页面的展示结果肯定不一样,比如一些用户信息。这也是有些人利用跨域漏洞,获取用户信息的原理。

C#获取json数据代码:

//读取网页内容(UTF-8)
public static string GetJsonData(string url)
{
    System.Net.WebRequest wReq = System.Net.WebRequest.Create(url);
    System.Net.WebResponse wResp = wReq.GetResponse();
    System.IO.Stream respStream = wResp.GetResponseStream();

    StreamReader sr = new StreamReader(respStream, System.Text.Encoding.UTF8);
    string input = sr.ReadToEnd();
    sr.Close();
    return input;
}

asp.net除了WebRequest,还有WebClient,当然也可以像winform的WebBrowser。

关于json和js跨域,参考:http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html

关于跨域的另一个例子:

<script type="text/javascript">
    function success_jsonp(result) {
    alert(result);
}
</script>
<script type="text/javascript" src="http://xxx.com?callback=success_jsonp"></script>


最后修改:2014 年 03 月 30 日
如果觉得我的文章对你有用,请随意赞赏