龍巖易富通網(wǎng)絡科技有限公司

龍巖小程序開發(fā),龍巖分銷系統(tǒng)

ecshop中ajax的調(diào)用原理

2015.11.12 | 2456閱讀 | 0條評論 | php

1:首先ecshop是如何定義ajax對象的。

     ecshop中的ajax對象是在js/transport.js文件中定義的。里面是ajax對象文件。聲明了一個var Ajax = Transport;對象和一個方法Ajax.call = Transport.run;

 

2:ecshop中ajax可以使用兩種方式傳遞數(shù)據(jù).一種是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數(shù)據(jù),也可以是一個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來傳遞的。返回的結(jié)果result也是對象.

 

4:ecshop ajax函數(shù)里面.第三個參數(shù)就是回掉函數(shù)的名稱。比如以上代碼addToCartResponse 這個函數(shù)就是ajax處理結(jié)果的回調(diào)函數(shù).

 

5:在ecshop的php代碼中,一般是通過get或者post方式來接受函數(shù)。比如以下例子,如果接受的是對象。還需要用json數(shù)據(jù)格式來處理.比如以下

   include_once('includes/cls_json.php');

    $_POST['goods'] = json_str_iconv($_POST['goods']);

   處理的返回結(jié)果,也需要是json格式發(fā)送給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>


/**
* 按用戶名搜索用戶
*/
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);
    }
  }
}


/*------------------------------------------------------ */
//-- 搜索用戶
/*------------------------------------------------------ */
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);
}



來源:http://blog.csdn.net/21aspnet/article/details/7635575

贊 (

發(fā)表評論

主站蜘蛛池模板: 亚洲一区综合在线播放| 色噜噜狠狠狠狠色综合久一| 综合色就爱涩涩涩综合婷婷| 精品国产综合成人亚洲区| 久久综合鬼色88久久精品综合自在自线噜噜 | 亚洲精品欧美综合| 国产精品综合久成人| 欧美精品综合视频一区二区| 激情综合婷婷丁香五月蜜桃| 色老头综合免费视频| 国产色综合一区二区三区| 色婷婷综合久久久久中文一区二区| 丁香五月婷婷综合激情在线| 色久综合网精品一区二区| 久久婷婷色综合一区二区| 狠狠色丁香久久综合五月| 成人精品综合免费视频| 99久久国产主播综合精品| 久久本道综合久久伊人| 亚洲综合精品一二三区在线| 亚洲综合色婷婷七月丁香| 国产成人综合网在线观看| 久久综合九色综合欧美狠狠| 久久乐国产综合亚洲精品| 亚洲国产精品成人AV无码久久综合影院| 99久久综合国产精品二区| 天天干天天色综合| 久久本道久久综合伊人| 91成人亚洲综合欧美日韩| 欧美偷窥清纯综合图区| 狠狠色丁香久久婷婷综合五月| 精品亚洲综合在线第一区| 亚洲精品欧美综合| 亚洲精品欧美综合在线| 色偷偷91久久综合噜噜噜噜 | 色综合久久88色综合天天 | 久久婷婷五月综合色高清| 亚洲色图综合网| 国产色综合天天综合网| 久久综合五月丁香久久激情| 精品国产国产综合精品|