ショッピング カートがあり、ログイン ウィンドウに投稿して、認証後にチェックアウトに進むことができるようにしたいと考えています。しかし、これを実現する前に、shoppingcart ウィンドウの読み込み時に Web サービス呼び出しを使用しているので、カートのアイテムのハッシュを取得して、私たちの間の通信を保護できます。データ オブジェクト内のすべてのカート項目をシリアル化して、Web サーバーに送信できるようにするにはどうすればよいですか?
これは私が今のところ試していることですが、うまくいきません...
$(document).ready(function () {
getCartHashCode();
});
function getCartHashCode() {
var url = 'home/GetHashRequest';
var data = new Array();
//put all items from the cart on the data object
for (i = 1; i <= $('.product-name').length; i++) {
//setting up json parameter names
var CART_NAME = 'CART_'+i+'_NAME';
var CART_PRICE = 'CART_'+i+'_PRICE';
var obj = { CART_NAME: $('input[name=Cart['+i+'].Name').val(),
CART_PRICE: $('input[name=Cart['+i+'].Price').val() }
data.push(obj);
}
$.ajax({
type: 'POST',
url: url,
data: data,
success: function (hash) {
alert("It worked! Hash = " + hash.toString());
}
});
編集
ferrants のコメントの後のフォローアップ: 私はそれを脱いで、本当にサーバーに行きました! ありがとう
問題は、サーバー側に投稿したアイテムをどのように取得するかです。
item
次のように定義されたドメインクラスがあります。
public class Item
{
public string Name { get; set; }
public int UnitPrice { get; set; }
}
私のコントローラーアクションはこれです:
public string GetHashRequest(List<Item> cart)
{
GetSecureHashPOCORequest hashRequest = new GetSecureHashPOCORequest();
}