学习笔记 js跨域请求

js跨域请求问题

1.通过JQuery jsonp实现跨域请求,具体参考http://www.cnblogs.com/myaspnet/archive/2010/12/30/1922335.html

2.对于返回非json格式数据的请求,通过上面的方法将无法实现跨域,例如返回xml数据,通过自己摸索和查阅相关资料可以通过后台发送http请求实现。先新建一个一般处理程序,在ProcessRequest方法中调用如下方法来获得请求的跨域数据。

public static string Send(string url,Encoding encode)
    {
        string html = "";
        HttpWebRequest hwr = WebRequest.Create(url) as HttpWebRequest;
        hwr.Method = "get";//设置请求方法,可根据需要设为post
        hwr.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)";

        //发送请求
        HttpWebResponse response = (HttpWebResponse)hwr.GetResponse();
        //获取响应体
        Stream stream = response.GetResponseStream();
        StreamReader sr = new StreamReader(stream,encode );
        html = sr.ReadToEnd();
        sr.Close();
        stream.Close();
        return html;
    }

然后再通过ajax请求本站的一般处理程序获取数据,再做解析。

posted @ 2012-06-09 09:19  BeBetter  阅读(190)  评论(0)    收藏  举报