首先,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>