Fork me on GitHub
jquery跨域请求数据

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
posted on 2013-06-29 22:32  HackerVirus  阅读(189)  评论(0编辑  收藏  举报