寻找一种将对象数组从一个嵌入式脚本传递到另一个嵌入式脚本的方法

时间:2016-06-14 19:30:04

标签: javascript arrays parameter-passing

对象数组在第一个脚本中构建..." order_items"。我想将它传递给第二个脚本,这样我就可以遍历值并构建一个像素来渲染到我的屏幕。我试图通过这个阵列。

    @for (int i = 0; i < OrderItemsReceived.Count; i++)
{
    <script type="text/javascript" id="pepper" data-search="order_items"> 
        var order_items = [{
            'name':ProductName',
            'sku': SKU',
            'price': UnitPrice.ToString().Replace(",", "")',
            'quantity': Quantity.ToString()'
        }]
    </script>
}

    <script type="text/javascript">
        var script_tag = document.getElementById('pepper');
        var order_items = script_tag.getAttribute("data-search");

        var order_id = @Model.OrderId;
        var pixel_html = '';
        var integration = 'DYNAMIC';
        var program_id = 7302;


        if (order_id && order_items) {
            jQuery.each( order_items, function (i, order_item) {
                pixel_html += '&' + 'ITEM_ID' + i + '=' + order_item.sku +
                              '&' + 'ITEM_PRICE' + i + '=' + order_item.price +
                              '&' + 'QUANTITY' + i + '=' + order_item.quantity;
            });

            if (pixel_html) {
           pixel_html = '<iframe src="https://t.pikespeak.com/track?' +
                'INT=' + integration +
                '&' + 'PROGRAM_ID' + '=' + program_id +
                '&' + 'ORDER_ID' + '=' + order_id +
                pixel_html +
                '" width="1" height="1" frameborder="0"></iframe>';
            }
        }
        $('body').append(pixel_html);
    </script>

1 个答案:

答案 0 :(得分:0)

这就是我解决问题的方法。

<script type="text/javascript" id="pepper" data-search="order_items">
    alert("hello");
    var order_items = @Html.Raw(Json.Encode(Model.OrderItemsReceived.OrderItemsReceived));
    var order = [];
    var order_listItems = [];
    for (var i = 0; i < order_items.length; i++){
        var orderList = order_items[i];
        order = [{
            'sku': orderList.SKU,
            'price': orderList.UnitPrice,
            'quantity': orderList.Quantity
        }]
        order_listItems.push(order);
    }

我选择继续使用json对象,因为我的数组将由键值对构成。一旦我意识到这一点,变量的范围就不再是问题了。