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,如需转载请自行联系原作者

相关文章
|
3月前
|
JSON 数据可视化 API
Python 中调用 DeepSeek-R1 API的方法介绍,图文教程
本教程详细介绍了如何使用 Python 调用 DeepSeek 的 R1 大模型 API,适合编程新手。首先登录 DeepSeek 控制台获取 API Key,安装 Python 和 requests 库后,编写基础调用代码并运行。文末包含常见问题解答和更简单的可视化调用方法,建议收藏备用。 原文链接:[如何使用 Python 调用 DeepSeek-R1 API?](https://apifox.com/apiskills/how-to-call-the-deepseek-r1-api-using-python/)
|
8月前
|
自然语言处理 算法 Java
地址描述转换为坐标点不使用API,有什么转换的方法?
地址描述转换为坐标点不使用API,有什么转换的方法?
492 64
|
7月前
|
测试技术 API 项目管理
API测试方法
【10月更文挑战第18天】API测试方法
141 1
|
10月前
|
安全 API
通义千问API获取方法
访问阿里云DashScope官网以获取API-KEY。首先需开通DashScope服务:登录控制台,点击“去开通”,阅读协议后点击“立即开通”。接着获取API-KEY:进入API-KEY管理页面,点击“创建新的API-KEY”,复制并安全保存生成的API-KEY。完成这些步骤后,即可使用API-KEY调用DashScope API。更多详情见[官方文档](https://help.aliyun.com/zh/dashscope/developer-reference/acquisition-and-configuration-of-api-key)。
|
5月前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
725 5
|
7月前
|
Java 大数据 API
别死脑筋,赶紧学起来!Java之Steam() API 常用方法使用,让开发简单起来!
分享Java Stream API的常用方法,让开发更简单。涵盖filter、map、sorted等操作,提高代码效率与可读性。关注公众号,了解更多技术内容。
264 5
|
7月前
|
JavaScript 前端开发 Java
多种语言请求API接口方法
每种语言和库的选择取决于具体需求、项目环境以及个人偏好。了解这些基本方法,开发者就可以根据项目需求选择合适的语言和库来高效地与API交互。
128 1
|
7月前
|
安全 测试技术 API
一图看懂API测试9种方法
一图看懂API测试九种方法:冒烟测试验证基本功能,功能测试确保符合规格,集成测试检查组件协同工作,回归测试防止新变更引入问题,负载测试评估性能稳定性,压力测试挑战极限负载,安全测试发现并修复漏洞,用户界面测试确保UI与API协调,模糊测试提升异常数据处理鲁棒性。
|
9月前
|
安全 Java API
|
9月前
|
存储 算法 Oracle
19 Java8概述(Java8概述+lambda表达式+函数式接口+方法引用+Stream+新时间API)
19 Java8概述(Java8概述+lambda表达式+函数式接口+方法引用+Stream+新时间API)
104 8

热门文章

最新文章