GetJSON跨域访问----将跨域访问放到服务器端进行

最近,使用phonejs开发移动站点,在加载外部数据的时候,需要使用getJSon进行跨域访问。

按照phoneJS官网说明,进行到使用GetJSON进行获取外部数据时候,报跨域访问的错误

对于这个问题,困扰了自己好几天,现在记录一下。

1.解决跨域问题

网上现在有很多关于getJSON事先跨域访问的。如博文http://www.nowamagic.net/jquery/jquery_GetJson.php,对于这个方法不做过多说明。

2.另辟蹊径解决跨域访问获取数据

我此次做就是用这种方法实现的跨域访问。

初次访问失败的代码

MyApp.home = function (params) {
    var viewmodel = {
        dataSource: new DevExpress.data.DataSource({
            load: function(loadOptions) {
              //return $.getJSON('http://sampleservices.devexpress.com/api/Categories');//这个是phonejs官网给的示例url
		return $.getJSON('http://www.company.com/');//这里只是给以示例,所以没有给真实的url,这里会报错,提示跨域访问
 },map: function(item) {
                return {
                    name: item.Name,order:item.order
                };
            }                
        })
    };
    return viewmodel;
};   

修改方法是,在服务器端添加一个.ashx文件,上面代码的示例url修改访问这个.ashx,然后在ashx中去实现对外部数据的请求。

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...