jquery跨域请求数据
jquery跨越请求数据。实际开发中经常会碰到两个网站数据交互问题,当向另一个站点请求数据该如何做?
实际上非常容易,请按照下面的步骤做:
第一:编写js,通过get获取远程数据。注意要在链接后面加上callback参数,该参数表示传递回调函数地址到远程页面。
var params = 'pam1:1,...'
$.get('http://192.168.0.109/test.ashx?callback=?', {params}, function cb(data) { alert(data.chartA[0].name); alert(data.chartA[0].moods); }, 'json');
第二:编写处理程序,
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/json"; string callback = context.Request.QueryString["callback"]; // 获取回调函数地址 string jsonStr = "{'chartA':[{'name':'小黄', 'moods':90}]}"; // 返回的json string text = callback + "(" + jsonStr + ")"; // callback为回调函数地址,加上括号(),就相当于返回 cb(jsonStr),调用了请求也的回调函数 context.Response.Write(text); }
通过这两步就可以实现jquery跨域请求数据了,扩充:webservice的实现原理也类似。欢迎拍砖补充。
分类: .Net