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

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

获取参数

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

ajax获取数据,可以传参数

  1. // 获取商品相关信息
  2. api.ajax({
  3. url: 'http://zhudianbao.yunlutong.com/?g=Api&m=Goods&a=getGoodsInfo',
  4. method: 'get',
  5. data: {
  6. values: {
  7. goods_id: goods_id
  8. }
  9. }
  10. }, function(json, err) {
  11. // 一些处理...
  12. });

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

  1. if (json.status == '1') {
  2. var interText = doT.template($("#goodstmpl").text());
  3. $("#info_area").html(interText(json.info));
  4. var swiper = new Swiper('.swiper-container', {
  5. pagination: '.swiper-pagination',
  6. paginationClickable: true,
  7. spaceBetween: 30,
  8. centeredSlides: true,
  9. autoplay: 3500,
  10. autoplayDisableOnInteraction: false
  11. });
  12. } else {
  13. var toast = new auiToast();
  14. toast.fail({
  15. title:json.msg,
  16. duration:2000
  17. });
  18. }

服务器端的一些处理

  1. // 获取商品信息
  2. public function getGoodsInfo() {
  3. $goods_id = $this->_request('goods_id','trim');
  4. $goodsModel = D('Goods');
  5. $goodsImgModel = D('Goods_img');
  6. $goods_info = $goodsModel->getGoodsById($goods_id);
  7. if ($goods_info) {
  8. $goods_info['goods_img'] = $goodsImgModel->getGoodsImg($goods_id);
  9. }
  10. if (empty($goods_info)) {
  11. $this->outData['status'] = '2';
  12. $this->outData['msg'] = '商品不存在或已下线';
  13. } else {
  14. $this->outData['status'] = '1';
  15. $this->outData['msg'] = '获取成功';
  16. $this->outData['info'] = $goods_info;
  17. }
  18. $this->printOut();
  19. }
  20. protected function printOut() {
  21. exit(json_encode($this->outData));
  22. }

小结

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

apiCloud中api.ajax方法跨域传参获取数据的更多相关文章

  1. vue 组件传参及跨域传参

    可以完成跨组件传参的四种方式 // 1) localStorage:永久存储数据 // 2) sessionStorage:临时存储数据(刷新页面数据不重置,关闭再重新开启标签页数据重置) // 3) ...

  2. iframe 跨域传参

    parent-index.html: (本地起服务,放在5000端口上) <div class="content"> <iframe src="http ...

  3. ASP.NET MVC & WebApi 中实现Cors来让Ajax可以跨域访问 (转载)

    什么是Cors? CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing).它允许浏览器向跨源服务器,发出XMLHttpReq ...

  4. .NET MVC & Web API Cors让AJAX 实现跨域

    什么是Cors? CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing).它允许浏览器向跨源服务器,发出XMLHttpReq ...

  5. ASP.Net中关于WebAPI与Ajax进行跨域数据交互时Cookies数据的传递

    本文主要介绍了ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据传递的相关知识.具有很好的参考价值.下面跟着小编一起来看下吧 前言 最近公司项目进行架构调整,由原来的三层架构改 ...

  6. 解决Ajax不能跨域的方法

    1.  Ajax不能跨域请求的原因 同源策略(Same Origin Policy),是一种约定,该约定阻止当前脚本获取或者操作另一个域下的内容.所有支持Javascript的浏览器都支持同源策略,也 ...

  7. 在dotnet core web api中支持CORS(跨域访问)

    最近在写的Office add-in开发系列中,其中有一个比较共性的问题就是在add-in的客户端脚本中访问远程服务时,要特别注意跨域访问的问题. 关于CORS的一些基本知识,请参考维基百科的说明:h ...

  8. jquery中ajax处理跨域的三大方式

    一.处理跨域的方式: 1.代理 2.XHR2 HTML5中提供的XMLHTTPREQUEST Level2(及XHR2)已经实现了跨域访问.但ie10以下不支持 只需要在服务端填上响应头: ? 1 2 ...

  9. 关于在JS中AJAX导致跨域问题的解决

    在部署一个原声的前端项目的时候,请求该服务器后端接口时发现出现了CORS跨域的问题,但是服务端已经做了同源策略的兼容,常见问题,遂记录. 报错信息: XMLHttpRequest cannot loa ...

随机推荐

  1. 【opencv】opencv在vs下的配置(持续更新)

    经常使用配置记录,会更新下去. 1.去掉ipch及.sdf文件 opencv在vs编译会得到很多文件.当中.dsf和ipch文件就有几十M.总是非常占空间,而这都是用来保存C++预编译的头文件和Int ...

  2. 一个JavaWeb项目中使用的部分技术

    -- 2015年8月8日 1. Web框架: Spring+ SpringMVC + MyBatis Spring: 作为容器.工厂,用于解耦以及管理对象生命周期. 整合各类框架和依赖. MVC  : ...

  3. ActiveX插件

    C#制作ActiveX插件 首先新建项目--->类库,取名:ActiveXDemo 右键项目属性:应用属性==>程序集信息=>使程序集Com可见, 生成==>输出==>为 ...

  4. USACO 1.4 Mother's Milk

    Mother's Milk Farmer John has three milking buckets of capacity A, B, and C liters. Each of the numb ...

  5. IPython Autoreload

    在PyCharm中进行代码调试的时候, 设置修改的模块自动重新载入是非常方便的 In [1]: %load_ext autoreload In [2]: %autoreload 2

  6. 17.UNP第一章 简介

    获取时间的客户端代码: //客户端程序 #include "unp.h" int main(int argc, char **argv) { int sockfd, n; ]; s ...

  7. BZOJ 3667 Pollard-rho &Miller-Rabin

    论O(1)快速乘和O(logn)快速乘的差距-. //By SiriusRen #include <cstdio> #include <algorithm> using nam ...

  8. 编译libvlc。。。

    https://wiki.videolan.org/Win32Compile按照官网教程,安装所需工具,参考 :http://qjw.qiujinwu.com/blog/2014/12/08/cros ...

  9. Controller总结

    下图显示了组建之间的基本控制流程 1.1控制器工厂.动作调用器 控制器工厂负责创建对请求进行服务的控制器实例 动作调用其负责查找并调用控制器类中的动作方法. 1.2自定义控制器工厂 namespace ...

  10. Zeplin(for Windows)无缝集成到了 Adobe XD

    Zeplin(for Windows)无缝集成到了 Adobe XD 大约6个月前,推出了 Zeplin 的新Adobe XD CC集成.从那时起,数十万个设计从Adobe XD导出到Zeplin.Z ...