MVC 网站中接口如果跨域或者是跨网站访问是有权限控制的,这里我介绍下Asp.net MVC 如何做跨域访问的接口。
提供数据接口(网站A)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
/// <summary> /// 获取数据 /// </summary> /// <returns></returns> public ContentResult GetValue() { Dictionary<string, string> json = new Dictionary<string, string>(); json.Add("result", "获取数据成功"); json.Add("time", DateTime.Now.ToString()); string value = JsonConvert.SerializeObject(json); return Content(string.Format("{0}({1})", Request["callback"], value)); } |
注意添加第三方dll,using Newtonsoft.Json; 可以通过NuGet来下载。
通过JS调用接口(网站B)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<script type="text/javascript"> //调用接口获取数据 function GetValue() { $.getJSON("http://localhost:36251/Home/GetValue?callback=?", { //自定义参数 id: 1, top: "10" }, function (data) { alert(data.result + " " + data.time); }); } </script> |
注意引用JQuery。
操作结果图
我这里只是简单的调用示例,有关安全、效率、规范这里都没有关注,在使用中还请注意相关问题。
发布者:柚子,转转请注明出处:https://ityouzi.com/archives/mvc-json-data.html