通常前端页面进行Ajax请求后台Json数据时是可以的,但是最近使用Ajax直接请求别人的地址的接口会报错, 查看一番原来是浏览器默认不允许有跨域请求,然后就换了一种方法:
前端:
//ajax请求数据
$.ajax({
async: false,
type: "GET",
url: "test",
dataType: "JSON",
success: function (data) {
var strjson = data.ApiPackages ;
var jsondata = JSON.parse(strjson );
},
});
后台:
public JsonResult test()
{
using (WebClient web = new WebClient())
{
//使用WebClient在后台请求地址获取返回json字符串
//将json字符串返回前台格式化为json对象
string strhtml = Encoding.UTF8.GetString(web.DownloadData(@"别人的地址接口"));
return Json(new { ApiPackages = strhtml }, JsonRequestBehavior.AllowGet);
}
}