我有一个购物车,想把它发布到我的登录窗口,这样我就可以在验证后继续结帐。但在此之前,我在购物车窗口加载时使用 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();
}