现在的位置: 首页 > 综合 > 正文

ecshop中ajax调用原理-讲座8

2013年03月28日 ⁄ 综合 ⁄ 共 1168字 ⁄ 字号 评论关闭

上一章我们讲述了ecshop如何给商品增加新字段-讲座7  ,本章我们将结合ecshop一些常见的使用规则。来谈谈ecshop中是如何调用ajax的.ecshop二次开发的过程中。我们常常遇到使用ajax异步出来的问题。

 1:首先ecshop是如何定义ajax对象的。

 ecshop中的ajax对象是在js/transport.js文件中定义的。里面是ajax对象文件。声明了一个var Ajax = Transport;对象和一个方法Ajax.call = Transport.run;

 2:ecshop中ajax可以使用两种方式传递数据.一种是get方式,一种是post方式.

Ajax.call( 'user.php?act=is_registered', 'username=' + username, registed_callback , 'GET', 'TEXT', true, true );

Ajax.call('user.php?act=return_to_cart', 'order_id=' + orderId, returnToCartResponse, 'POST', 'JSON');

   3:ecshop中的 ajax可以是传递text数据,也可以是一个json对象。比如以下代码

 goods.quick    = quick;
 goods.spec     = spec_arr;
 goods.goods_id = goodsId;
 goods.number   = number;
 goods.parent   = (typeof(parentId) == "undefined") ? 0 : parseInt(parentId);

 Ajax.call('flow.php?step=add_to_cart', 'goods=' + goods.toJSONString(), addToCartResponse, 'POST', 'JSON');

   里面的goods就是对象.而且是靠json来传递的。返回的结果result也是对象.

  4:ecshop ajax函数里面.第三个参数就是回掉函数的名称。比如以上代码addToCartResponse 这个函数就是ajax处理结果的回调函数.

  5:在ecshop的php代码中,一般是通过get或者post方式来接受函数。比如以下例子,如果接受的是对象。还需要用json数据格式来处理.比如以下

   include_once('includes/cls_json.php');
   $_POST['goods'] = json_str_iconv($_POST['goods']);

   处理的返回结果,也需要是json格式发送给js

  die($json->encode($result));

    以上就是简单的介绍了ecshop中ajax使用的简单规则。

抱歉!评论已关闭.