Ajax.call如何返回两个值?

2016-07-07 15:04 来源:www.chinab4c.com 作者:ecshop专家

Ajax.call如何返回两个值?

我要实现功能如:
http://www.gksww.com/brand-142-c0.html


点击联系方式即返回联系信息!(注:每个产品的联系人不同)

返回值为两个,一个是<DIV>的编号,一个是innerHTML的值!

感谢!

回答:
JSON

2# 锦毛鼠

是这样吗?

Ajax.call('gksww.php?act=brand_lx&id='+id, '', OnShowPhoneSuccessed, 'GET', 'JSON');
function OnShowPhoneSuccessed(a,b)
{
a.innerHTML=b;
a.title="联系方式";
}


请帮忙指点!感谢!



3# jingjingonline

问题解决了!
谢谢!

参考解决方法:
(摘文)
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" 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;
}
}

var attr = getSelectedAttributes

顶啊很不错的文章