javascript数组中的索引超出范围

我正在尝试在 javascript 中创建一个数组,其中包含作为模型传递给视图的对象列表,但出现此错误:“System.ArgumentOutOfRangeException:索引超出范围。必须为非负数并且小于集合的大小。(参数'startIndex')”尝试打开视图时。这是我的代码:

<script language="JavaScript">
(function () {       
    var currentExpression;
    var expressionName;
    var role;
    
    function startup() {
    //Here,the initial expression
        counter = 0;
        exp = Array.from(@Model);

        currentExpression = document.getElementById('expresionImage');
        currentExpression.src = "~/Plugins/Widgets.Expressions/Content/Expressions/sample-expressions/" + exp[counter].ExpressionFileName;
        expressionName = document.getElementById('expressionName');
        expressionName.innerHTML = exp[counter].ExpressionName;
        role = exp[counter].Role;
   
  //==================================
    //Code here...      
   
    $(document).ready(function () {
        $("#AjaxForm").submit(function (e) {
            e.preventDefault();

            // More code...

            $.ajax({
                type: "post",// Verbo HTTP
                url: "@Url.action("TakePhoto","WidgetsExpressions")",dataType: "application/Json",headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken: "]').val() },data: JSON.stringify(
                    {
                    // Datos / Parámetros
                        ProductId: $("#productId").val(),Role: role,ExpressionName: expressionName,}),contentType: "application/Json; charset=utf-8"
                })
                .done(function (result) {                             
                        counter = ++counter;
                       
                        //Cambiamos la expression
                        currentExpression.src = "~/Plugins/Widgets.Expressions/Content/Expressions/sample-expressions/" + exp[counter].ExpressionFileName;
                        expressionName = exp[counter].ExpressionName;
                        role = exp[counter].Role;

                        // Mostramos un mensaje de éxito.
                        //$("#SuccessAlert").show("slow").delay(2000).hide("slow");
                        alert(result.Message);
                    }
                    else{
                    //Aqui va el Alert que indica que no se pudo procesar la foto. La expresion sigue igual.
                    alert(result.Message);
                    }
                })
                // Se ejecuta si se produjo un error.
                .fail(function (xhr,status,error) {
                    // Mostramos un mensaje de error.
                    $("#ErrorAlert").show("slow").delay(2000).hide("slow");
                   
                })
                // Hacer algo siempre,haya sido exitosa o no.
                .always(function () {

                });
            });
        });

    //=====================================
    window.addEventListener('load',startup,false);
})();

对不起。这可能是一个愚蠢的问题,但我只是从 javascript 开始,无法弄清楚我的错误是什么。 谢谢

aappww 回答:javascript数组中的索引超出范围

感谢您的回复。问题是模型必须在将其转换为数组之前进行序列化。我是这样解决的:

 var expModel = @Json.Serialize(Model); 
        exp = Array.from(expModel);
本文链接:https://www.f2er.com/840.html

大家都在问