简单实用ajax方法 个人总结

2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家



对于ecshop ajax 使用方法,个人理解ecshop 简单思路: js点击事件 ---> js 函数方法 操作 Ajax.call()--> 跳转到指定的PHP 处理页面 ,php 操作 数据库查询结果 --->json 解析 返回到 Ajax.call() 的回调函数里处理读写到HTML。

js点击事件:
  1. <a style="padding:0px 2px; display:block" href="#" onclick="javascript:changes(1)">黑色标配装 999元</a>
复制代码
js 函数方法:
  1. function changes(goodsId)
  2. {
  3. Ajax.call('goods.php?act=collect', 'id=' + goodsId, collectResp**e, 'GET', 'JSON');
  4. }
复制代码


回调函数:
  1. function collectResp**e(res)
  2. {
  3. document.getElementById('goodName').innerHTML = res.goods_name;
  4. document.getElementById('goods_sn').innerHTML = res.goods_sn;
  5. document.getElementById('market').innerHTML = res.market_price;
  6. document.getElementById('ECS_SHOPPRICE').innerHTML = res.shop_price;
  7. document.getElementById('ECS_GOODS_AMOUNT').innerHTML = res.shop_price;
  8. }
复制代码



PHP 处理页面 :
  1. if (!empty($_REQUEST['act']) && $_REQUEST['act'] == 'collect'){
  2. include_once(ROOT_PATH . 'includes/cls_json.php');
  3. $goods_id = trim($_GET['id']);

  4. $json = new JSON;
  5. $result = array('goods_sn'=>'','goods_name'=>'','market_price'=>'','shop_price'=>'');
  6. $sql = "SELECT goods_sn,goods_name,market_price,shop_price FROM " . $ecs->table('goods') . " WHERE goods_id = '$goods_id'";
  7. $goods_res = array();
  8. $goods_res = $db->getRow($sql);

  9. $result['goods_sn'] = $goods_res['goods_sn'];
  10. $result['goods_name'] = $goods_res['goods_name'];
  11. $result['market_price'] = $goods_res['market_price'];
  12. $result['shop_price'] = $goods_res['shop_price'];


  13. die($json->encode($result));
  14. }
复制代码

需要注意的细节的问题:

$goods_res = $db->getRow($sql);在这里ecshop 返回的是关联数组, getOne()是字符串, getAll()是**数组,可以根据自己需要 来定义 $result;




其他的需要关注的问题:
假如你因为选择其他的商品, 那么就可能跟本页进入url 的 ID 不一样,那就得修改ID,保证是你跳转提交的 结果是你想要的
例如:

  1. <form action="javascript:addToCart({$goods.goods_id})" method="post" name="ECS_FORMBUY" id="ECS_FORMBUY" >..........................<a href="javascript:addToCart({$goods.goods_id})" id="submit"><img src="images/bnt_buy.gif" /></a>
复制代码


在自己的js函数方法里修改id:

  1. document.forms['ECS_FORMBUY'].action="javascript:addToCart("+goodsId+")";
  2. document.getElementById('submit').setAttribute('href','javascript:addToCart('+goodsId+')');
复制代码

回答:
._________________.
| _______________ |
| I I |
| I I |
| I I |
| I I |
| I_____________I |
!_________________!
._[_______]_.
.___|___________|___.
|::: ____|
| ~~~~ [CD-ROM]|
!___________________!

归纳的不错!

ECSHOP学习资料:http://www.phpally.com

你博客的那些资料,是你自己总结的吗 \(^o^)/

原来是这样子的啊