ecshop中ajax的工作流程

原创 admin  2013-01-10 09:30  阅读 2,513 次

ecshop开发和使用过程中,你往往需要注意一个事项。那就是ecshop中ajax结合json的使用。最典型的例子就是用来更新数据,提交并用ajax返回。

首先在模板goods.dwt中。有一行代码<li>{$lang.amount}:<span id="ECS_GOODS_AMOUNT" class="goodsPrice"></span></li>
<li>{$lang.number}:<input name="number" type="text" value="1" size="4" onblur="changePrice()" id="number" class="textInput" /></li>这个是div用来显示ajax提交的数据,还有就是js函数changePrice()

function changePrice()
{
var attr = getSelectedAttributes(document.forms['ECS_FORMBUY']);
var qty = document.forms['ECS_FORMBUY'].elements['number'].value;

Ajax.call('goods.php', 'act=price&id=' + goodsId + '&attr=' + attr + '&number=' + qty, changePriceResponse, 'GET', 'JSON');
}

把输入框中的数据传递给ajax.在goods.php中代码来处理他。他包含以下代码

include('includes/cls_json.php');

$json = new JSON;
$res = array('err_msg' => '', 'result' => '', 'qty' => 1);

产生结果 $res['result'] = price_format($shop_price * $number);用 die($json->encode($res));

返回给

function changePriceResponse(res)
{
if (res.err_msg.length > 0)
{
alert(res.err_msg);
}
else
{
document.forms['ECS_FORMBUY'].elements['number'].value = res.qty;

if (document.getElementById('ECS_GOODS_AMOUNT'))
document.getElementById('ECS_GOODS_AMOUNT').innerHTML = res.result;
}
}

 

本文地址:http://blog.qdql.net/1684/
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!
下载说明

发表评论


表情

  1. 三无屌丝
    三无屌丝 【农民】 @回复

    三无屌丝路过,博客不错呵

  2. 三五笑话
    三五笑话 【农民】 @回复

    新年马上到了,提前祝新年快乐,博客越办越好!

  3. 1936b140a09b4edc12cb7067a72f694b
    1936b140a09b4edc12cb7067a72f694b 【农民】 @回复

    1936b140a09b4edc12cb7067a72f694b站长大人~