ecshop中ajax的调用原理
来源:互联网 发布:淘宝确认收货后退运费 编辑:程序博客网 时间:2024/05/17 23:59
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));
例如:
HTML
<input type="button" name="search" value="{$lang.button_search}" onclick="searchUser();" /><select name="user_search[]" id="user_search" size="15" style="width:260px" ondblclick="addUser()" multiple="true"> </select>
/*** 按用户名搜索用户*/function searchUser(){ var eles = document.forms['theForm'].elements; /* 填充列表 */ var keywords = Utils.trim(eles['keyword'].value); if (keywords != '') { Ajax.call('bonus.php?is_ajax=1&act=search_users', 'keywords=' + keywords, searchUserResponse, "GET", "JSON"); }}function searchUserResponse(result){ var eles = document.forms['theForm'].elements; eles['user_search[]'].length = 0; if (result.error == 0) { for (i = 0; i < result.content.length; i++) { var opt = document.createElement('OPTION'); opt.value = result.content[i].user_id; opt.text = result.content[i].user_name; eles['user_search[]'].options.add(opt); } }}
php代码
/*------------------------------------------------------ *///-- 搜索用户/*------------------------------------------------------ */if ($_REQUEST['act'] == 'search_users'){ $keywords = json_str_iconv(trim($_GET['keywords'])); $sql = "SELECT user_id, user_name FROM " . $ecs->table('users') . " WHERE user_name LIKE '%" . mysql_like_quote($keywords) . "%' OR user_id LIKE '%" . mysql_like_quote($keywords) . "%'"; $row = $db->getAll($sql); make_json_result($row);}
- ecshop中ajax的调用原理
- ecshop中ajax的调用原理
- ecshop中ajax的调用原理
- ECSHOP中ajax的调用原理
- ecshop中ajax的调用原理
- ECSHOP中ajax的调用原理
- ecshop中ajax调用原理-讲座8
- Ajax工作原理/JQuery中AJAX调用
- ECshop中defined('IN_ECS')的实现原理
- ecshop中猜你喜欢的原理
- ecshop中ajax.call使用 [ECshop]
- ecshop中ajax.call使用
- ecshop后台通过ajax搜索原理
- ecshop后台通过ajax搜索原理
- ecshop Ajax.call的使用
- ecshop模板的原理分析
- ECSHOP调用分类文章,ECSHOP调用公告的方法
- ECSHOP中实现ajax弹窗登录
- oracle 之 checkpoint
- NYOJ171-聪明的kk
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)
- unity3D游戏开发三之unity编辑器二
- POJ 1426 Find The Multiple(不断学习!)
- ecshop中ajax的调用原理
- linux下sar命令解析 (性能相关以及性能调试)
- NYoj 491
- 什么是云计算
- MonogDB -索引 (三) GIS
- 常用上网增强类Chrome扩展
- 索引_举例:IO成本:全表扫描 < 走索引
- 六.使用OpenCv将图像转化为灰度图像
- java基础实现简单的用户登陆功能