起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1965|回复: 1

[分享] Wex5平台使用ajax跨域请求数据源

[复制链接]

3

主题

4

帖子

28

积分

新手上路

Rank: 1

积分
28
QQ
发表于 2016-5-18 16:42:51 | 显示全部楼层 |阅读模式
看到仿淘宝中的数据源是本地数据,订餐的后台是bass的,如果数据源是已有的服务端也就是通过ajax获取,这里简单试了一下;
这是后台的servlet代码
String callback = request.getParameter("callback");
                request.setCharacterEncoding("UTF-8");
                response.setContentType("application/json; charset=UTF-8");  
                response.setContentType("text/html");
                PrintWriter out = response.getWriter();
                String json = "["
                                                +"{\"id\":\"1\",\"fShopID\":\"f00105411\",\"fTitle\":\"11雪纺印花百褶裙半身裙,简约的线条和版型上身很好看,整体更有看点。\",\"fImg\":\"./list/img/pic1.png\",\"fPrice\":\"115\",\"fPostage\":\"免邮费\",\"fRecord\":\"62\"},"
                                                +"{\"id\":\"2\",\"fShopID\":\"f00105411\",\"fTitle\":\"22时尚真皮女凉鞋 牛筋底中跟欧美潮鞋 2015夏个性森系女鞋子罗马鞋\",\"fImg\":\"./list/img/pic2.png\",\"fPrice\":\"219\",\"fPostage\":\"免邮费\",\"fRecord\":\"3\"},"
                                                +"{\"id\":\"3\",\"fShopID\":\"f00105411\",\"fTitle\":\"33藤雷达椅 太阳椅 藤椅躺椅 午休藤睡椅 编藤阳台躺椅 懒人月亮椅\",\"fImg\":\"./list/img/pic3.png\",\"fPrice\":\"320\",\"fPostage\":\"免邮费\",\"fRecord\":\"14\"},"
                                                +"{\"id\":\"4\",\"fShopID\":\"f00105411\",\"fTitle\":\"44一件漂亮的软纱公主裙,配上一又白色高跟鞋子,又美丽又简单。\",\"fImg\":\"./list/img/pic4.png\",\"fPrice\":\"90\",\"fPostage\":\"免邮费\",\"fRecord\":\"66\"},"
                                                +"{\"id\":\"5\",\"fShopID\":\"f00102135\",\"fTitle\":\"55自制果冻布甸 餐厅专供原料 夏天美食,草莓味\",\"fImg\":\"./list/img/pic5.png\",\"fPrice\":\"21\",\"fPostage\":\"免邮费\",\"fRecord\":\"236\"},"
                                                +"{\"id\":\"6\",\"fShopID\":\"f00102135\",\"fTitle\":\"66雪纺印花百褶裙半身裙,简约的线条和版型上身很好看,整体更有看点。\",\"fImg\":\"./list/img/pic1.png\",\"fPrice\":\"115\",\"fPostage\":\"免邮费\",\"fRecord\":\"62\"},"
                                                +"{\"id\":\"7\",\"fShopID\":\"f00102135\",\"fTitle\":\"77时尚真皮女凉鞋 牛筋底中跟欧美潮鞋 2015夏个性森系女鞋子罗马鞋\",\"fImg\":\"./list/img/pic2.png\",\"fPrice\":\"219\",\"fPostage\":\"免邮费\",\"fRecord\":\"3\"},"
                                                +"{\"id\":\"8\",\"fShopID\":\"f00102135\",\"fTitle\":\"88藤雷达椅 太阳椅 藤椅躺椅 午休藤睡椅 编藤阳台躺椅 懒人月亮椅\",\"fImg\":\"./list/img/pic3.png\",\"fPrice\":\"320\",\"fPostage\":\"免邮费\",\"fRecord\":\"14\"},"
                                                +"{\"id\":\"9\",\"fShopID\":\"f00101621\",\"fTitle\":\"99一件漂亮的软纱公主裙,配上一又白色高跟鞋子,又美丽又简单。\",\"fImg\":\"./list/img/pic4.png\",\"fPrice\":\"90\",\"fPostage\":\"免邮费\",\"fRecord\":\"66\"},"
                                                +"{\"id\":\"10\",\"fShopID\":\"f00101621\",\"fTitle\":\"1010自制果冻布甸 餐厅专供原料 夏天美食,草莓味\",\"fImg\":\"./list/img/pic5.png\",\"fPrice\":\"21\",\"fPostage\":\"免邮费\",\"fRecord\":\"236\"}"
                                                +"]";
            out.write(callback + "(" + json + ")");

在wex5前端中,展示数据是用过list展示,(应该是这个,哈哈,说错了别介意,刚看代码两天)
var me = this.comp("goodsData");
                $.ajax({  
                        type:'GET',   
                        url:'http://localhost:8888/wei/servletSearch?callback=?',  
                        //data:{'id':'1'},  
                        cache:false,  
                        dataType:'jsonp',
                        processData: false,
                        success:function(data){
                                var append = event.source;
                                me.loadData(data, append);
                                event.source.setTotal(4);
                        },
                        error:function(XMLHttpRequest, textStatus, errorThrown) {
                       alert(XMLHttpRequest.status);
                       alert(XMLHttpRequest.readyState);
                       alert(textStatus);
                    }
                });


因为不知道怎么发图片,就这样了;
其中要注意的有几点:
1、跨域需要注意安全,其中chrome跨域会报异常,那么解决的方法就是dataType:'jsonp',一级callback的方式;
2、乱码问题,这个大家都知道了,就不说了
3、想list组件中加载数据,第一list的xid名称,第二data进行loadDdata方式加载;var append = event.source;me.loadData(data, append);这两句就是赋值的方式
4、goodsData是组件的xid

发出这个就是为了不知道的兄弟了解一下,说错的地方,不要嫌弃,互相学习。

0

主题

8

帖子

26

积分

新手上路

Rank: 1

积分
26
QQ
发表于 2016-5-23 09:15:43 来自手机 | 显示全部楼层
谢谢分享,很需要,我去测试一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-4 06:14 , Processed in 0.061873 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表