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的调用原理与调用方法,当然这些只是最基础的东西,还需要大家在以后的应用中逐渐领会。
Ajax.call( 'user.php?act=chk_user', 'username=' + username, registed_callback , 'GET', 'TEXT', true, true );
这个函数共有7个参数。
1.请求的url.
2.传递的数据data
3.回调函数,参数为ajax返回的结果。
4.ajax请求方式(POST,GET)
5.ajax响应数据类型(JSON,XML,TEXT)
6.async请求(TRUE,FALSE)
7.静默请求(TRUE,FALSE)
转 : https://www.cnblogs.com/wangblognet/archive/2012/12/09/2809898.html
参考: https://blog.csdn.net/fujiafeihudui/article/details/38852953