自宅では、産休に同行し、以前のプロジェクトを見て、私が以前に書いたショッピングカートがデータベースに実装されていることを突然発見しましたが、データベースと対話する必要があります。効率。突然、HTML5ローカルストレージを使用できると、プログラムの効率が大幅に向上します。もちろん、HTML5ローカルストレージには、各ブラウザの互換性とストレージデータのサイズ(NKB)が含まれます。ここで説明する必要があるのは次のとおりです。小さなマイクロモマルプロジェクトを行う場合、HTML5ローカルストレージ手順を使用してショッピングカートを実現することを試みることができます。
このセクションでは、HTML5ローカルストレージの機能について説明して、ショッピングカーの機能を実現します。
説明する必要があります:他のブログの前の部分:HTML5ローカルストレージの使用法、このセクションでは、前のセクションの知識を使用してショッピングカートを実現します!
まず一般的な考え方を説明してください:製品のテーブルでは、製品のIDが異なる場合、ショッピングカートデータを保存するために製品のIDを使用します。
特定の例は次のとおりです。
「ショッピングカートに参加」をクリックすると、実行コードは次のとおりです。
var pid = $(#hidpid)。 、pcolor:color} var batstring.stringify(bat); == keyName){localStorage.removeItem(keyname);}} localStorage.setItem(bat+pid、batstring);
一般的な説明:
PID:商品ID
色:製品の色
num2:商品数
バット:JSONオブジェクト
バットストリング:文字列はJSONオブジェクトに変換されました
ループの場合:既存のローカルストレージが削除されている場合、もちろん、削除せずに削除できます。古いもの。
最後に、SO -Caled Dynamicである動的ストレージは、ローカルストレージキー値と製品IDの組み合わせです。つまり、さまざまな製品がさまざまなキー値として保存されます。最後に、このN別の文字列を分析するだけで、完全なショッピングカートが入手できます!
hee hee、シンプル!
それでは、このn json文字列をどのように横断できますか?次のように:
ショッピングカーロードページ:
$(function(){for(var i = 0; i <localstorage.length; i ++){var localvalue = localStorage.getItem(localStorage.key(i)); var key =localStorage。key(i); if if (key! + PID +製品数量: + num +製品色: +色);}}});
一般的な説明:
すべてのローカルストレージを横断し、キー値には、BATとは異なるローカルストレージからカットされたバットサブミックスが含まれることが必要です。 <他のシステムと競合するローカルストレージを避けてください。そのため、リクエストにはbut>が含まれている必要があります。
JSON文字列をJSONオブジェクトに変換します
製品ID、製品の数、製品の色を入力します。
製品ID、製品の色、製品の数を使用すると、JSまたはAjaxを使用して、地元で保管したショッピングカートをロードできます。特定の負荷方法は次のとおりです。
$.ajax(...........)
または:
JSステッチHTML
ここ:デモンストレーションはありません。
OK、今のところ、HTML5ローカルストレージ全体も終了します。
このブログを改善し続けてください
上記のことは、AjaxまたはJSステッチを使用して、荷重機能を完成させる必要があることです。
JSコードは次のとおりです。
$(function(){varility = new array(); for(var i = 0; i <localstorage.length; i ++){var key = localstorage.key(i); var localvalue =localstorage。getitem(key) ; key!= bat.indexof(bat)> = 0){$ .parsejson(// var num.pid; cooool = obj .pcolor.log(製品ID: + num +製品カラー: + carary(obj); = {carry:carry}; data){var arystr = new array(); <span>(total ' + arystr [1] +'、貨物なし)</span> ')});});
コントローラーパーツ:
[httppost] public string getcarinfo(dictionary <string、string> [] carary){usercarmodel model = new usercarmodel(); ] []キャリー){usercarmodelモデル= new usercarmodel();
モデルセクション
public string getcarinfo(dictionary <string、string> [] carary、int i = 0){systex.stringbuilder sb = new system.textbuilder()ショッピングカートをロードする(null && length> 0){sb.append(<ul>); string pcolor =項目[pcolor]; '> <div class =' thumb '> <img src =' + picpath + @ ' /> < /div> <div class =' desc clear-both '> <p> ame + @ e < /p> <スモール>カラー分類: + pcolor + @</small> <span> ¥ + convert.todouble(productmol.shopprice).tostring(0.00) + @</span> <div class = 'ctrl-div'> <div class = 'Jian'> </div> <div class = 'num'> + num + @</div> <div class = 'jia'> </div> </div> </div > </li>);} sb.append(</ul>);} else {sb.append(<ul> <li onclick = 'gobuy2()'> li> <br/> </ul>); }} else {//総量と製品の数を計算します(carary!= null && length> 0){foreach(bar item in carry){string pid =項目num = item [num]; ProductMol = bll.getModel(convert.Toxt32(PID)); carri.length);} return sb.toString();}
効果マップは次のとおりです。
上記は、この記事のすべての内容です。