您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程

ecshop中ajax的调用原理

晓霜2025-01-06Ecshop商城教程已有人查阅

导读1:首先ecshop是如何定义ajax对象的。ecshop中的ajax对象是在js/transport.js文件中定义的。里面是ajax对象文件。声明了一个var Ajax = Transport;对象和一个方法Ajax.call

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));
例如:
<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>
Javascript 代码
/**
* 按用户名搜索用户
*/
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.user_id;
opt.text = result.content.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);
}

本文标签:

很赞哦! ()

相关源码

  • (带手机版)绿色生态农业种植农产品网站pbootcms源码下载本模板基于PbootCMS内核开发,为生态农业企业量身打造,适用于农业种植、有机农场、农产品电商等业务场景。模板设计充分体现绿色环保理念,突出农业特色,同时保持简洁大气的视觉效果,帮助农业企业建立专业形象。查看源码
  • (自适应响应式)pbootcms紫色美容整形机构企业模板下载基于PbootCMS内核开发的响应式网站模板,为医疗美容机构、整形医院等企业设计,提供完整的线上展示平台采用紫色系配色方案,整体风格专业大气。模板包含首页轮播、服务项目、专家团队、案例展示等核心模块,能够充分展示医疗美容机构的专业服务和特色优势。查看源码
  • (自适应)家禽饲养养殖基地pbootcms模板响应式模板下载为家禽饲养企业、养殖基地设计的响应式网站模板,聚焦畜禽产品展示、养殖技术分享及企业信息服务。采用PbootCMS内核开发,响应式技术确保PC与手机端数据实时同步查看源码
  • 帝国cms7.5手游评测资讯礼包合集游戏专区下载网站模板本模板基于帝国CMS系统开发,为手游门户网站设计。支持PC端与移动端同步生成HTML静态页面,内置多端同步生成功能。模板架构针对手业特点优化,满足APP下载、游戏资讯、攻略等内容发布需求。查看源码
  • (自适应html5)自媒体运营培训教程个人博客pbootcms模板本模板基于PbootCMS系统开发,特别适合自媒体运营培训、知识付费类网站使用。采用响应式设计,能够适配各类终端设备,为内容创作者提供专业的内容展示平台。查看源码
  • (自适应)品牌策划网络设计作品公司个人pbootcms网站源码下载本款基于PbootCMS开发的网站模板专为品牌策划、设计公司打造,特别适合展示创意作品、设计案例和企业服务。模板采用现代化设计风格查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐