zoukankan      html  css  js  c++  java
  • 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的处理了。

  • 相关阅读:
    tomcat安装apr优化
    mysql配置主从同步
    hadoop分布式安装
    SSH端口转发详解及实例-转载
    Jmeter实现简单web负载测试
    使用Jmeter进行http接口测试
    Jmeter如何使用数据库返回值实践
    学习使用Jmeter做压力测试(一)--压力测试基本概念
    Jmeter建立一个扩展LDAP测试计划
    Jmeter服务器监控插件使用
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/5950292.html
Copyright © 2011-2022 走看看