一、首先ecshop是如何定義ajax對象的。php
ecshop中的ajax對象是在js/transport.js文件中定義的。裏面是ajax對象文件。聲明瞭一個var Ajax = Transport;對象和一個方法Ajax.call = Transport.run;html
二、ecshop中ajax能夠使用兩種方式傳遞數據.一種是get方式,一種是post方式.ajax
Ajax.call( 'user.php?act=is_registered', 'username=' + username, registed_callback , 'GET', 'TEXT', true, true );json
Ajax.call('user.php?act=return_to_cart', 'order_id=' + orderId, returnToCartResponse, 'POST', 'JSON');async
三、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);post
Ajax.call('flow.php?step=add_to_cart', 'goods=' + goods.toJSONString(), addToCartResponse, 'POST', 'JSON');ui
裏面的goods就是對象.並且是靠json來傳遞的。返回的結果result也是對象.url
四、ecshop ajax函數裏面.第三個參數就是回掉函數的名稱。.net
好比以上代碼addToCartResponse 這個函數就是ajax處理結果的回調函數.
五、在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