最近,使用phonejs开发移动站点,在加载外部数据的时候,需要使用getJSon进行跨域访问。
按照phoneJS官网说明,进行到使用GetJSON进行获取外部数据时候,报跨域访问的错误。
对于这个问题,困扰了自己好几天,现在记录一下。
1.解决跨域问题
网上现在有很多关于getJSON事先跨域访问的。如博文http://www.nowamagic.net/jquery/jquery_GetJson.php,对于这个方法不做过多说明。
我此次做就是用这种方法实现的跨域访问。
初次访问失败的代码
原文链接:https://www.f2er.com/json/290269.htmlMyApp.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中去实现对外部数据的请求。