开发者社区> 桃子红了呐> 正文

apiCloud中api.ajax方法跨域传参获取数据

简介:
+关注继续查看

apiCloud中的ajax方法,可以自动处理跨域访问数据,不必使用jsonp来处理了。

使用ajax方法,必须要在apiready = function() {}方法中

获取参数

var pageParam = api.pageParam;
var goods_id = JSON.stringify(pageParam.goods_id);

ajax获取数据,可以传参数

       // 获取商品相关信息       
       api.ajax({
            url: 'http://zhudianbao.yunlutong.com/?g=Api&m=Goods&a=getGoodsInfo',
            method: 'get',
            data: {
                values: {
                    goods_id: goods_id
                }
            }
        }, function(json, err) {
         // 一些处理...
        });

由于跨域只能异步处理,必须把处理的代码写在ajax里面

        if (json.status == '1') {
                var interText = doT.template($("#goodstmpl").text());
                $("#info_area").html(interText(json.info));
                var swiper = new Swiper('.swiper-container', {
                    pagination: '.swiper-pagination',
                    paginationClickable: true,
                    spaceBetween: 30,
                    centeredSlides: true,
                    autoplay: 3500,
                    autoplayDisableOnInteraction: false
                });
            } else {
                var toast = new auiToast();
                toast.fail({
                    title:json.msg,
                    duration:2000
                });
            }   

服务器端的一些处理

   // 获取商品信息
    public function getGoodsInfo() {
        $goods_id = $this->_request('goods_id','trim');
        $goodsModel = D('Goods');
        $goodsImgModel = D('Goods_img');
        $goods_info = $goodsModel->getGoodsById($goods_id);
        if ($goods_info) {
            $goods_info['goods_img'] = $goodsImgModel->getGoodsImg($goods_id);
        }

        if (empty($goods_info)) {
            $this->outData['status'] = '2';
            $this->outData['msg']    = '商品不存在或已下线';
        } else {
            $this->outData['status'] = '1';
            $this->outData['msg']    = '获取成功';
            $this->outData['info']   = $goods_info;
        }
        $this->printOut();
    }
    
    protected function printOut() {
        exit(json_encode($this->outData));
    }

小结

这里的服务器只需要正常的返回json数据就可以了。不必加入jsonp的处理了。



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/5950292.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
asp.net (webapi) core 2.1 跨域配置
原文:asp.net (webapi) core 2.1 跨域配置 官方文档 ️ https://docs.microsoft.
917 0
如何用 ajax 连接mysql数据库,并且获取从中返回的数据。ajax获取从mysql返回的数据。responseXML分别输出不同数据的方法。
开讲前,先说下网上,大部分的关于这方面的博文或者其他什么的,就我自己的感觉,第一说得不详细,第二语言不能很好的被初学者了解。 我这篇博文的标题之所以用了三句,是为了方便其他人好查找;       这里介绍的方法有什么用呢? 使用它,就可以无闪刷新页面,并且从数据库获取实时改变的数据反馈回界面,显示出来!是不是很爽,的确。
1035 0
Python | 数据挖掘,WordCloud词云配置过程及词频分析
一. 安装WordCloud 在使用WordCloud词云之前,需要使用pip安装相应的包。 pip install WordCloud pip install jieba 其中WordCloud是词云,jieba是结巴分词工具。
2040 0
gdy
jQuery Ajax传值给Servlet,在Servlet里Get接受参数乱码的解决方法
  最近在学jquery ui,在做一个小功能的时候需要将前台的值获取到,通过Ajax传递给Servlet,然后再在返回数据结果,但是在Servlet接受参数的时候,通过后台打印,发现接受乱码,代码示例如下: public void doGet(HttpServletRequest reque...
1432 0
Asp.Net Web API 2第十六课——Parameter Binding in ASP.NET Web API(参数绑定)
原文:Asp.Net Web API 2第十六课——Parameter Binding in ASP.NET Web API(参数绑定) 导航 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html。
927 0
invalid-app-id(无效的AppID)参数问题自查方案
1.首先检查支付宝网关     沙箱环境网关为: [url]https://openapi.alipay[/url]dev.com/gateway.do     正式环境网关为: [url]https://openapi.
6240 0
【HEVC学习与研究】35、帧内预测参考数据的获取和滤波处理
帧内预测的参考像素值的获取在标准文档的8.4.4.2.2中指明。 举例说明,当前demo中,我们用来单步调试的第一个CU为64×64像素大小,那么参考像素由两部分组成,一部分包含2×64+1=129个,另一部分包含2×64=128个像素。
813 0
c# webBrowser 获取Ajax信息 .
原文:c# webBrowser 获取Ajax信息 . c#中 webbrowser控件对Ajax的执行,没有任何的响应,难于判断Ajax是否已经执行完毕,我GG了一下午,找到一个方法,介绍一下: 假如在页面中有个是通过Ajax来改变值,当webBrowser1.
700 0
4269
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载